С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30

Генерация случайного цвета

07.06.2018, 14:32. Показов 2320. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане, помогите с вопросом, я не сильно разбираюсь в PHP, но жду от Вас небольшой помощи. Есть задача, написать код для выведения строк таблицы csv. файла с разными цветами. Функцию написал, цвет меняет, но проблема с циклом - все они одного цвета, подскажите что можно поменять?

Спасибо.

Функция 'randomcolor.php';
PHP
1
2
3
4
5
<?function random_html_color()
{
    return sprintf( '#%02X%02X%02X', rand(0, 255), rand(0, 255), rand(0, 255) );
}
?>

Весь код.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<meta charset="UTF-8">
<html>
<head>
    <title>Upload files to server!</title>
</head>
<body>
 
<?php
    echo '
      <h2>Форма для загрузки файлов</h2>
      <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br>
      <input type="submit" value="Обработать"><br>
      </form>
  ';
 
    if(  is_uploaded_file($_FILES["filename"]["tmp_name"])  )
    {
        // Если файл загружен успешно, перемещаем его
        // из временной директории в конечную
        move_uploaded_file
        (
            $_FILES["filename"]["tmp_name"],
            __DIR__  .  DIRECTORY_SEPARATOR  .  $_FILES["filename"]["name"]
        );
 
   
 
        echo("Файл успешно загружен и обработан!");
 
 
        $nowfile = $_FILES["filename"]["name"];
        include 'randomcolor.php';
 
        $data = File("$nowfile");
        echo "<center><table border=0><tr>";
          $dat_arr = explode(";", $data[0]);
          for ($p=0;$p<count($dat_arr);$p++) {
            echo "<td bgcolor='.random_html_color().'><center><b><i>$dat_arr[$p]";
           }
          echo "</tr>";
          for ($i=1;$i<count($data);$i++) {
 
          $data_array = explode(";", $data[$i]);
             echo "<tr>";
              for ($f=0;$f<count($data_array);$f++) { 
              echo "<td bgcolor='.random_html_color().'><center><b><i>$data_array[$f]";
            }
              echo "</tr>";}echo "</table></center>";
        }
?>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2018, 14:32
Ответы с готовыми решениями:

Генерация случайного цвета PHP
Здравствуйте, уважаемые форумчане, помогите с вопросом, я не сильно разбираюсь в PHP, но жду от Вас небольшой помощи. Есть задача, написать...

Генерация случайного цвета PHP контрастного фону
Привет! В этой теме взял код генерации случайного цвета, но проблема в том, что если фон совпадает с цветом, то получается беда) ...

Генерация случайного значения
Помогите, мне нужно, чтобы php генерировал случайное значение. Требование- длина 40 символов, может состоять из любых цифр и букв англ...

12
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.06.2018, 14:51
PHP
1
2
3
4
5
6
<?
function random_html_color()
{
    return sprintf( 'rgb(%02X,%02X,%02X)', rand(0, 255), rand(0, 255), rand(0, 255) );
}
?>
PHP
1
echo "<td style='background:".random_html_color().";'><center><b><i>$dat_arr[$p]";
для второй строки аналогично.
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 14:58  [ТС]
sasha0012, Спасибо большое помогло, только вот можно сделать это по два столбика в строчки, что бы в линию был один цвет, а дальше рандом?
Миниатюры
Генерация случайного цвета  
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.06.2018, 15:08
По Вашему коду я не понимаю как таблица рисуется. К примеру нигде не вижу "</td>" это явная ошибка.

Откройте эту страницу в браузере, и загляните в "Исходный код" и выложите код который выводит таблицу сюда.
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 15:12  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<meta charset="UTF-8">
<html>
<head>
    <title>Upload files to server!</title>
</head>
<body>
 
 
      <h2>Форма для загрузки файлов</h2>
      <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br>
      <input type="submit" value="Обработать"><br>
      </form>
  Файл успешно загружен и обработан!
<center><table border=0><tr><td style='background:#B6C0A9;'><center><b><i>Иванов Иван Иванович<td style='background:#E4918C;'><center><b><i>8-902-111-11-12
</tr><tr><td style='background:#A9D524;'><center><b><i>Петрова Мария Ивановна<td style='background:#79EC84;'><center><b><i>8-902-111-22-33
</tr><tr><td style='background:#661F2B;'><center><b><i>Сидоров Дмитрий Анатольевич<td style='background:#49CF97;'><center><b><i>8-902-333-33-14
</tr><tr><td style='background:#9DFA58;'><center><b><i>ааа<td style='background:#79FBF2;'><center><b><i>ауу212312
</tr><tr><td style='background:#79DC7C;'><center><b><i>рпапр<td style='background:#072959;'><center><b><i>
</tr><tr><td style='background:#D991E0;'><center><b><i>рапр<td style='background:#074969;'><center><b><i>
</tr><tr><td style='background:#977E85;'><center><b><i>рапр<td style='background:#E6C5D7;'><center><b><i>
</tr><tr><td style='background:#C4E163;'><center><b><i>рапр<td style='background:#AABFB1;'><center><b><i>
</tr><tr><td style='background:#E90EAD;'><center><b><i>прап<td style='background:#2F4E9C;'><center><b><i>
</tr><tr><td style='background:#47B30A;'><center><b><i>апр<td style='background:#6BC413;'><center><b><i>
</tr><tr><td style='background:#1613DD;'><center><b><i>рапр<td style='background:#AAEAAD;'><center><b><i>
</tr><tr><td style='background:#C94E7D;'><center><b><i>рапр<td style='background:#D14157;'><center><b><i>
</tr><tr><td style='background:#47967C;'><center><b><i>прапра<td style='background:#9E4195;'><center><b><i>
</tr><tr><td style='background:#327AE3;'><center><b><i>прапр<td style='background:#E59DC4;'><center><b><i>
</tr><tr><td style='background:#241E72;'><center><b><i>рапр<td style='background:#D37C5A;'><center><b><i>
</tr><tr><td style='background:#EC80E4;'><center><b><i>ра<td style='background:#2EC022;'><center><b><i>
</tr><tr><td style='background:#D4B429;'><center><b><i>рапр<td style='background:#924384;'><center><b><i>
</tr><tr><td style='background:#DC28A9;'><center><b><i>рапр<td style='background:#B514BB;'><center><b><i>
</tr></table></center>
 
 
</body>
</html>
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.06.2018, 15:49
tr это строки, td это ячейки. Вы не правильно рисуете таблицу.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$data = File("$nowfile");
$dat_arr = explode(";", $data[0]);
$data_array = explode(";", $data[$i]);
 
echo "<center><table border=0>";
 
 
for ($p=0;$p<count($dat_arr);$p++) {
    
    $color = random_html_color();
    
    echo '<tr>';
    echo '<td bgcolor="'.$color.';"><center><b><i>'.$dat_arr[$p].'</i></b></center></td>';
    echo '<td bgcolor="'.$color.';"><center><b><i>'.$data_array[$p].'</i></b></center></td>';
    echo '</tr>';
}
        
echo "</table></center>";
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 15:55  [ТС]
Теперь выглядит так:
Миниатюры
Генерация случайного цвета  
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 16:02  [ТС]
Может быть попробовать реализовать рандомить цвета на каждую ячейку двух таблиц одинаково?, по моему коду?
Только вот как...
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.06.2018, 16:41
Цитата Сообщение от KRIOVOEZERKALO Посмотреть сообщение
реализовать рандомить цвета на каждую ячейку двух таблиц одинаково?
Реализовать неслучайную случайность? Можно сначала создать массив с количеством элементов которое соответствует количеству строк в таблице, например так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$data = File("$nowfile");
 
$color_array = array();
for ($i=0;$i<count($data);$i++) {
$color_array[] = random_html_color();
}
 
        echo "<center><table border=0><tr>";
          $dat_arr = explode(";", $data[0]);
          for ($p=0;$p<count($dat_arr);$p++) {
            echo "<td bgcolor='".$color_array[$p]."'><center><b><i>$dat_arr[$p]";
           }
          echo "</tr>";
          for ($i=1;$i<count($data);$i++) {
 
          $data_array = explode(";", $data[$i]);
             echo "<tr>";
              for ($f=0;$f<count($data_array);$f++) { 
              echo "<td bgcolor='".$color_array[$f]."'><center><b><i>$data_array[$f]";
            }
              echo "</tr>";}echo "</table></center>";
        }
но это костыльное решение. если хотите по нормальному всё сделать, то скиньте значение которое находится в $data
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 16:58  [ТС]
Мне нужна такая реализация.
Миниатюры
Генерация случайного цвета  
0
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 17:00  [ТС]
Вот этот файл лежит в $date


или вы про это?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<meta charset="UTF-8">
<html>
<head>
    <title>Upload files to server!</title>
</head>
<body>
 
<?php
    echo '
      <h2>Форма для загрузки файлов</h2>
      <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br>
      <input type="submit" value="Обработать"><br>
      </form>
  ';
 
    if(  is_uploaded_file($_FILES["filename"]["tmp_name"])  )
    {
        // Если файл загружен успешно, перемещаем его
        // из временной директории в конечную
        move_uploaded_file
        (
            $_FILES["filename"]["tmp_name"],
            __DIR__  .  DIRECTORY_SEPARATOR  .  $_FILES["filename"]["name"]
        );
 
   
 
        echo("Файл успешно загружен и обработан!");
 
 
        $nowfile = $_FILES["filename"]["name"];
Вложения
Тип файла: rar Data.rar (255 байт, 1 просмотров)
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.06.2018, 17:11
Лучший ответ Сообщение было отмечено KRIOVOEZERKALO как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function random_html_color()
{
    return sprintf( '#%02X%02X%02X', rand(0, 255), rand(0, 255), rand(0, 255) );
}
 
 
$data = "Иванов Иван Иванович;8-902-111-11-12
Петрова Мария Ивановна;8-902-111-22-33
Сидоров Дмитрий Анатольевич;8-902-333-33-14
ааа;ауу212312
рпапр;
рапр;
рапр;
рапр;
прап;
апр;
рапр;
рапр;
прапра;
прапр;
рапр;
ра;
рапр;
рапр;";
$arr_data = explode("\r\n", $data);
 
echo "<center><table border=0>";
 
 
for ($p=0;$p<count($arr_data);$p++) {
    
    $arr_value = explode(";", $arr_data[$p]);
    $color = random_html_color();
    
    echo '<tr>';
    echo '<td style="background:'.$color.';"><center><b><i>'.$arr_value[0].'</i></b></center></td>';
    echo '<td style="background:'.$color.';"><center><b><i>'.$arr_value[1].'</i></b></center></td>';
    echo '</tr>';
}
        
echo "</table></center>";
1
 Аватар для KRIOVOEZERKALO
1 / 1 / 0
Регистрация: 25.12.2016
Сообщений: 30
07.06.2018, 17:30  [ТС]
О, выводится. Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2018, 17:30
Помогаю со студенческими работами здесь

Генерация и запись случайного числа
Делаю авторизацию, для безопасности решил сделать так: если пароль верен, то генерируется случайное число и записывается в сессии, кук и...

Генерация случайного числа многомерного ассоциативного массива
Здравствуйте. Помогите пожалуйста. Необходимо вывести два случайных числа из многомерного ассоциативного массива. При этом массив может...

Генерация случайного ника на сайте
Привет! Искал через инспектор в браузере по js, не нашел. Может плохо искал, а так то думаю что случайные ники на форуме генерирует не js...

100 фигур случайного цвета
Составить программу, которая выводит на экран 100 фигур случайного цвета Окружность фиксированного радиуса со случайным центром.

Генерация случайного цвета
Здравствуйте! Помогите в среде pascal реализовать генерацию случайного цвета. Возможно ли это сделать? Задание. Сгенерировать новые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru