PHP Looping 3 цвета фона в цикле - PullRequest
0 голосов
/ 05 августа 2011

Я показываю данные из таблицы БД, и я могу довольно легко перебрать 2 цвета фона, но как я могу расширить это, чтобы включить 3 или, возможно, 4 цвета фона ??

В настоящее время у меня есть этот коддля двух классов CSS:

php echo $ i ++% 2?'class = "even"': 'class = "odd"';

Большое спасибо

Ответы [ 3 ]

6 голосов
/ 05 августа 2011

Используйте массив классов и используйте результат модуля (остаток) в качестве индекса.

$classes = array("odd", "even", "odder", "more_even");
for ($i=0; $i < 10; $i++)
{
    echo $classes[$i%4];
}

Затем вы можете заменить 4 размером массива, чтобы сделать его полностью динамическим на основемассив.

echo "<br>".$classes[$i%count($classes)];
0 голосов
/ 05 августа 2011

Это то же самое, что и подход @ Gazler. Однако я использую цикл while, поскольку вы говорите о db-таблице (возможно, MySQL?).

$result = mysql_query($query);
$i = -1;
while ($row = mysql_fetch_array($result)) {
    echo (($i++) % 2) ? 'odd' : 'even';
}
0 голосов
/ 05 августа 2011

Самый простой способ, который я могу придумать, - ввести оператор switch:

switch($i % 3)
{
    case 0: echo 'class="even"'; break;
    case 1: echo 'class="odd"'; break;
    case 2: echo 'class="..."'; break;
}

Хорошо, мой просто многословен, хаха

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...