Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Цвета строк в цикле.
Форумы портала PHP.SU » » Вопросы новичков » Цвета строк в цикле.

Страниц (2): [1] 2 »
 

1. SofiaKit - 08 Сентября, 2013 - 19:45:20 - перейти к сообщению
Подскажите пожалуйста, как в цикле чередовать строки цветами?
PHP:
скопировать код в буфер обмена
  1. while ($row = mysql_fetch_array($result)) {
  2.      echo "<a href=session.php?page=SessionNum&SessionNum=$row[SessionNum]>Ссылка</a><br>";
  3.  }

Вот чтоб первая строка была #fff а вторая #ccc и так далее...
2. Ch_chov - 08 Сентября, 2013 - 19:55:57 - перейти к сообщению
3. SofiaKit - 09 Сентября, 2013 - 18:51:45 - перейти к сообщению
вопрос остался открытым Однако . не поняла там ничего.
Вобщем задача: в цикле php сделать чередование цветов, как это сделать?
4. teddy - 09 Сентября, 2013 - 19:21:40 - перейти к сообщению
SofiaKit пишет:
Вобщем задача: в цикле php сделать чередование цветов, как это сделать?


Пожалуйста, леди )

PHP:
скопировать код в буфер обмена
  1. $str = "Строка";
  2. $color = "red";
  3.  
  4. for($i = 0; $i < 5; $i++){
  5.     $color == "red" ? $color = "yellow" : $color = "red";
  6.     echo "<font color='$color'>$str</font> <br />";
  7. }
  8.  
5. IllusionMH - 09 Сентября, 2013 - 19:25:28 - перейти к сообщению
teddy, font? Встал и вышел! (с)

SofiaKit, cделать как выше(но ни в коем случае не использовать font), но только добавлять и убирать класс.
SofiaKit пишет:
не поняла там ничего.

Вероятно, стоит учить, а не за готовым лезть. Детские ошибки/проблемы в каждом топике.
6. OrmaJever - 09 Сентября, 2013 - 19:28:46 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. for($i=0; $row = mysql_fetch_array($result); ++$i) {
  2.      echo "<a href=session.php?page=SessionNum&SessionNum={$row['SessionNum']} style=\"color:".($i%2?'red':'green').";\">Ссылка</a><br>";
  3.  }
7. teddy - 09 Сентября, 2013 - 19:30:39 - перейти к сообщению
IllusionMH пишет:
но ни в коем случае не исаользовать font



А что, тогда придёт Воландеморт и взмахнет палочкой произнося вредоносное заклинание? )

Цвета меняются в цикле... Что и требовалось доказать
8. LIME - 09 Сентября, 2013 - 19:32:19 - перейти к сообщению
и чем последнее решение лучше проверки на равенство в while
9. IllusionMH - 09 Сентября, 2013 - 19:33:28 - перейти к сообщению
teddy, карма от этого уходит в минус, а тем более советовать это неокрепшим умам начинающих.

P.S. очепятку подправил Улыбка
10. teddy - 09 Сентября, 2013 - 20:05:42 - перейти к сообщению
IllusionMH
Так тег же нормальный, все браузеры его поддерживают. Хоть и объявлен устаревшим )) В целом согласен с замечанием

Но цель была привести простой пример такой реализации что бы леди поняла, как это дело работает ) Ну а дальше можно это дело использовать на свой вкус...

IllusionMH пишет:
P.S. очепятку подправил

За то образовали новую Закатив глазки
11. LIME - 09 Сентября, 2013 - 20:14:16 - перейти к сообщению
очепятка это уже устоявшийся термин практически
новое слово на албацком ))
12. Medallion - 09 Сентября, 2013 - 20:32:19 - перейти к сообщению
Я предлагаю вот такую функцию:

PHP:
скопировать код в буфер обмена
  1.  
  2. // Создаем массив цветов для чередования
  3. $colors = array(green, red, gray);
  4.  
  5. // Функция: 1 параметр = массив цаетов. 2 параметр = число чередования.
  6. // Например, если в массиве 3 цвета, а во втором параметре число 2, то будут чередоватся
  7. // только первые два цвета.
  8. function rotate($colors, $number) {
  9.     // Выборка из базы
  10.     $result = mysql_query("SELECT title FROM product");
  11.     // Счетчик
  12.     $i = 0;
  13.    
  14.     // Цикл с запросом выборки
  15.     while ($row = mysql_fetch_array($result)){
  16.        
  17.         // Условие сбрасывает счетчик, когда совпадает с $number
  18.         if ($i === $number) {
  19.             $i = 0;
  20.            
  21.         }
  22.        
  23.         // Вывод строки
  24.         echo '<a href="session.php" style="color: '.$colors[$i].'">'.$row["title"].'</a><br>';
  25.        
  26.         // Условия добавляет к счетчику +1
  27.         if ($i !== $number) {
  28.             $i++;
  29.         }
  30.     }
  31. }
  32.  
  33. // Вызов функции
  34. rotate($colors, 2);
  35.  


Возможно, что-то нужно поправить, дописать или сократить, но по ТЗ темы я думаю подходит.
13. SofiaKit - 10 Сентября, 2013 - 07:04:04 - перейти к сообщению
чем новее php, тем больше нужно строк и параметров для простейшего скрипта - заметила недавно. Раньше по учебнику делалось буквально в 2 строки (добавлялись 2 строки), теперь десятки строк нужно, чтоб чередовалась цветность Закатив глазки
14. Medallion - 10 Сентября, 2013 - 07:41:13 - перейти к сообщению
Возможно со стороны клиента на Javascript, с помощью библиотеки JQUERY будет проще.
15. SofiaKit - 10 Сентября, 2013 - 07:54:05 - перейти к сообщению
это действительно так сложно сделать в цикле? Однако что необходимо писать кучу кода и подключать специальные библиотеки. Однако

 

Powered by ExBB FM 1.0 RC1