Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   чет не чет (http://www.flasher.ru/forum/showthread.php?t=33733)

roi2002 28.06.2002 21:19

чет не чет
 
:confused: пипля - вот проблема..
я вот делаю форум и столкнулся с проблеймой..
есть сообщение..надо что бы у каждого второго сообщения менялся цвет фона, что бы не монотонный форум был, а полосками, у каждой ячейки свой цвет...вот как это сделать?
я думаю, что когда делаешь
PHP код:

$i 0;
while(
$fetch mysql_fetch_array($query)) {
  
$i++;
Ъ
?>
 

надо прорверять четность $i ... а вот как это сделать????
делить переменныу на 2 и смотерть какой результат? если число получается целое, то надо сделать переменную $result и присвоить ей там, например, 1...если не целое число, то присваивать 0...так??? тогда как проверять, четное или нечетное? :confused:
:confused: :confused: :confused:

advocat 29.06.2002 00:31

делается это еще намного проще, пример:

Код:

$color1 = $color = "#ffffff";
$color2 = "#cccccc";
while($fetch = mysql_fetch_array($query)) {
  if ($color = $color2) {
    $color = $color1;
  } else {
    $color = $color2;
  }
  <tr color="<?=$color?>">...
}


roi2002 29.06.2002 03:41

ой, хихи, и точна :)) спасибо, недодумался....

Armen Khanoyants 29.06.2002 05:40

а вот так можно определить...
Код:

if ($p/2==round($p/2,0)) {
        print("четная");
    }else{
        print("нечетная");
}


Crazy 29.06.2002 07:44

БаловАться с round'ом не надо, ибо есть прекрасная операция "%'. Однако в данном случае -- если мы перебираем всего два цвета -- куда разумнее код, который предложил выше advocat.

Если нужно делать чередование более чем двух цветов -- вот тогда берем массив цветов, определяем остаток от деления номера строки на число цветов и т.д. ...

Pr0Head 29.06.2002 15:35

Ммм... можно "облегчить" код advocat`a:

$color = "FFFFFF";
while($fetch = mysql_fetch_array($query)) {
echo "<tr bgcolor=$color>&nbsp;</td>";
$color = ($color == "FFFFFF") ? "000000" : "FFFFFF";
}

Crazy 29.06.2002 18:45

За тернарный оператор -- хвалю. А вот указывать непосредственно в выражении коды цветов -- это очень плохо. Практически гарантированные проблемы с поддержкой.

advocat 01.07.2002 02:13

Цитата:

Оригинал написал(а) Crazy
А вот указывать непосредственно в выражении коды цветов -- это очень плохо.
Вот почему я и привел именно такой пример, просто если делается сайт, то у него должна быть гибкая настройка как минимум :D

Pr0Head 01.07.2002 02:25

Ну вообщем-то ничего не мешает вывести две переменные за пределы оператора сравнения. Для гибкой настройке так сказать... :)

Crazy 01.07.2002 17:19

Для гибкой настройки они вообще должны жить где-то в другом файле, но это уже совсем другая история...


Часовой пояс GMT +4, время: 15:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.