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 » PHP » Программирование на PHP » чередование фона

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

1. Сержо - 22 Февраля, 2009 - 00:10:16 - перейти к сообщению
Столкнулся с проблемкой...а именно не могу понять как сделать чередование фона при выводе инфы.
Вывожу инфу циклом (1 строка , 5 столбцов),теоретически понимаю что можно разбить на чет и нечет , но как на практике ...увы...
прошу вашей помощи. Если можно в примере.
Заранее благодарен за помощь!
2. InFAnT - 22 Февраля, 2009 - 00:26:50 - перейти к сообщению
С помощью цикла for!
CODE (text):
скопировать код в буфер обмена
  1.  
  2. for ($i=0;$i<$n;$i++)
  3. {
  4. if (($i % 2)>0)
  5. echo '<tr bgcolor = yellow
  6. align=center>';
  7. else echo '<tr bgcolor = blue
  8. align=center>';
  9. }
  10.  


Где-то так...
3. Бублик - 22 Февраля, 2009 - 04:04:13 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. for ($i=0;$i<$n;$i++)
  2. {
  3. if (($i % 2)==0)
  4. echo '<tr bgcolor = yellow
  5. align=center>';
  6. else echo '<tr bgcolor = blue
  7. align=center>';
  8. }


Может так?
4. InFAnT - 22 Февраля, 2009 - 09:36:13 - перейти к сообщению
Походу так и так можно!Улыбка
Хотя...мне кажется правильным первый вариант, поэтому так и написал, но я еще новичок, так , что могу ошибаться!!!
5. Ch_chov - 22 Февраля, 2009 - 09:40:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. for($i=0; $i<$n; $i++) {
  2. $color=$i%2>0? 'yellow':'blue';
  3. echo'<tr><td bgcolor='.$color.' align=center>';
  4. }

(Добавление)
или так
PHP:
скопировать код в буфер обмена
  1. for($i=0; $i<$n; $i++)
  2. echo '<tr><td bgcolor=',$i%2>0? print'yellow':print'blue','align=center>';
6. InFAnT - 22 Февраля, 2009 - 10:06:48 - перейти к сообщению
А что означает знак вопроса после выражения $i%2>0? ????
7. Roler - 22 Февраля, 2009 - 10:11:39 - перейти к сообщению
Это такая вариация if. Только для тех случаев, когда нужно вернуть значение. Синтаксис
CODE (text):
скопировать код в буфер обмена
  1. $var = ( условие ? 'true' : 'false')
8. InFAnT - 22 Февраля, 2009 - 11:00:14 - перейти к сообщению
Понятно!Спасибо, мужики!Улыбка
9. NebsteR - 23 Февраля, 2009 - 15:44:18 - перейти к сообщению
у меня вот так сделано, отрезок кода:

CODE (text):
скопировать код в буфер обмена
  1.    for ($count=0; $count<$rows; $count++)
  2.    {
  3.        echo "<tr>";
  4.        echo "<td bgcolor='#",$r,"'><font face=Arial size=1>";
  5.        echo mysql_result($q, $count, 13);
  6.        echo "</font></td>";
  7.        echo "<td bgcolor='#",$r,"'><font face=Arial size=1>";
  8.        echo mysql_result($q, $count, 14);
  9.        echo "</font></td>";
  10.        echo "</tr>";
  11.        if ($r == 'E0E0E0') $r = 'D0D0D0'; else $r = 'E0E0E0';
  12.    }

(Добавление)
т.е. после каждой строки заменяем переменную с цветом на обратный...
10. Dastar - 23 Февраля, 2009 - 15:58:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if ($r == 'E0E0E0') $r = 'D0D0D0'; else $r = 'E0E0E0';

Красиво)
Можно так же написать:
PHP:
скопировать код в буфер обмена
  1. $r = ($r=='E0E0E0') ? 'D0D0D0' : 'E0E0E0'
11. InFAnT - 23 Февраля, 2009 - 16:00:54 - перейти к сообщению
Как то все тут заумно!)))Для простого чередования фона столько много кода писать...)))
12. NebsteR - 23 Февраля, 2009 - 16:02:02 - перейти к сообщению
ненене, строчка замены цвета там всего одна) я вообще привел отрывок кода)
13. Бублик - 23 Февраля, 2009 - 16:34:28 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. for ($count=0; $count<$rows; $count++)
  2. {
  3. echo "<tr>";
  4. echo "<td bgcolor='#",$r,"'><font face=Arial size=1>";
  5. echo mysql_result($q, $count, 13);
  6. echo "</font></td>";
  7. echo "<td bgcolor='#",$r,"'><font face=Arial size=1>";
  8. echo mysql_result($q, $count, 14);
  9. echo "</font></td>";
  10. echo "</tr>";
  11. if ($r == 'E0E0E0') $r = 'D0D0D0'; else $r = 'E0E0E0';
  12. }


Этот код можно упростить вот так

PHP:
скопировать код в буфер обмена
  1. for ($count=0; $count<$rows; $count++)
  2. {
  3. echo "<tr style='background-color:#",$r,"'>";
  4. echo "<td><font face=Arial size=1>";
  5. echo mysql_result($q, $count, 13);
  6. echo "</font></td>";
  7. echo "<td><font face=Arial size=1>";
  8. echo mysql_result($q, $count, 14);
  9. echo "</font></td>";
  10. echo "</tr>";
  11. $r = ($r=='E0E0E0') ? 'D0D0D0' : 'E0E0E0';
  12. }


:)
14. NebsteR - 23 Февраля, 2009 - 16:42:24 - перейти к сообщению
ну про замену цвета, со стандартным if как-то привычней что-ли) а вот про стиль для строки интересно))

 

Powered by ExBB FM 1.0 RC1