Чередование цветов строк

digitalpnz
На сайте с 03.05.2012
Offline
43
1666

Ув. форумчане помогите советом

имею код который выводит все содержащиеся в директории файлы

$handle = opendir ($dir);

while ($file = readdir($handle)){
if ($file == "." or $file == ".."){
continue;
}
if (filetype("$dir/$file") == "file"){

print "<tr><td>$file</td><td>".round(filesize("$dir/$file")/1024, 2)." кб</td><td>".date("d.m.Y", filectime("$dir/$file"))."</td><td>".date("d.m.Y", filemtime("$dir/$file"))."</td><td align=center>инфо</td></tr>";
}
}
closedir($handle);
print "</table>";

Файлы выводятся строками таблицы

Как сделать чтобы цвет строк чередовался? Одна строка серая, за ней белая, за ней серая и т.п.

Есть идеи? Я просто не силен в PHP

M
На сайте с 15.03.2012
Offline
128
#1

перед while:

$i = 0;

в начале тела while:

$i++;

и добавить аттрибут тегу TR:

print "<tr style='background-color:#".($i % 2 == 0 ? 'fff' : 'ccc')."'...

siv1987
На сайте с 02.04.2009
Offline
427
#2


$i = 0;
$handle = opendir ($dir);
while ($file = readdir($handle)){
if ($file == "." or $file == ".."){
continue;
}
if (filetype("$dir/$file") == "file"){
$style = ($i % 2) ? 'class1' : 'class2';
print "<tr class='{$style}'><td>$file</td><td>".round(filesize("$dir/$file")/1024, 2)." кб</td><td>".date("d.m.Y", filectime("$dir/$file"))."</td><td>".date("d.m.Y", filemtime("$dir/$file"))."</td><td align=center>инфо</td></tr>";

$i++;
}
}
closedir($handle);
print "</table>";

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#3

Задача решается через CSS

tr:nth-child(odd){background-color:#fff}

tr:nth-child(even){background-color:#000}

Правда :nth-child не поддерживается в IE < 9 и на это надо или надменно наплевать или использовать костыли на jQuery.

digitalpnz
На сайте с 03.05.2012
Offline
43
#4
Moltisanti:
перед while:
$i = 0;
в начале тела while:
$i++;
и добавить аттрибут тегу TR:
print "<tr style='background-color:#".($i % 2 == 0 ? 'fff' : 'ccc')."'...

Ваш способ сработал но чередование пошло через 2 строчки, т.е. 1 серая, 2 белые, 1 серая, 2 белые



---------- Добавлено 23.08.2012 в 10:06 ----------

siv1987:

$i = 0;
$handle = opendir ($dir);
while ($file = readdir($handle)){
if ($file == "." or $file == ".."){
continue;
}
if (filetype("$dir/$file") == "file"){
$style = ($i % 2) ? 'class1' : 'class2';
print "<tr class='{$style}'><td>$file</td><td>".round(filesize("$dir/$file")/1024, 2)." кб</td><td>".date("d.m.Y", filectime("$dir/$file"))."</td><td>".date("d.m.Y", filemtime("$dir/$file"))."</td><td align=center>инфо</td></tr>";

$i++;
}
}
closedir($handle);
print "</table>";

А Ваш способ сработал идеально! Огромное спасибо!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий