![]() |
![]() |
инструм 12.03.2004 - 15:17 |
поможите плз нужно чтобы строки в таблице поочередно были окрашены в два цвета серый и белый или серый и желтый <?php $filename = "list.dat"; $lines = file("$filename"); for ($i=0;$i<count($lines);$i++){ list($name, $year, $amount, $price) = split(";",$lines[$i]); $name = trim($name); $email = trim($year); $adress = trim($amount); $adress = trim($price); print "<tr>\n"; print " <td>$name</td>\n"; print " <td>$year</td>\n"; print " <td>$amount</td>\n"; print " <td>$price</td>\n"; print "</tr>\n\n"; } ?> заранее всем благодарен за ответ |
buster 1 - 12.03.2004 - 15:23 |
<?php $filename = "list.dat"; $lines = file("$filename"); $color=true; for ($i=0;$i<count($lines);$i++){ if($color) $bgcolor='#ffffff'; else $bgcolor='#ffffcc'; $color=!$color; list($name, $year, $amount, $price) = split(";",$lines[$i]); $name = trim($name); $email = trim($year); $adress = trim($amount); $adress = trim($price); print "<tr bgcolor='".$bgcolor."'>\n"; print " <td>$name</td>\n"; print " <td>$year</td>\n"; print " <td>$amount</td>\n"; print " <td>$price</td>\n"; print "</tr>\n\n"; } ?> |
DIVЕR 2 - 12.03.2004 - 15:30 |
Первое, что приходит в голову: ... $adress = trim($price); $color = ( $i % 2 ) ? "white" : "grey"; print "<tr id=\"$color\">\n"; print " <td>$name</td>\n"; print " <td>... ... В CSS сделать так: td#grey { background-color: $ccc; } td#white { background-color: $fff; } |
DIVЕR 3 - 12.03.2004 - 15:31 |
ааа опоздал чуть-чуть =)))) |
DIVЕR 4 - 12.03.2004 - 15:33 |
Кстати, давайте сравним представленные решения =))) В моём варианте добавлены 1,5 строчки в код и стиль настраивается через CSS (как это в принципе и должно быть) =))) |
Уверенный 5 - 12.03.2004 - 15:33 | Да, и кроме того, забыл $color менять в цикле :) |
Уверенный 6 - 12.03.2004 - 15:34 | Пардон, ignore me please :) |
DIVЕR 7 - 12.03.2004 - 15:56 |
ПРОШУ ПРОЩЕНИЯ! ошибочку я всё-таки у себя нашёл небольшую: Надо в CSS вместо td# написать tr#!!! ... (просто я сначала пример свой написал как <td id="$color">, а потом всё-таки решил делать для всей строки сразу ;) ) |
buster 8 - 12.03.2004 - 15:58 | Не мега-принципиально :о)) Хотя через CSS - это правильно. Так держать! ;) |
инструм 9 - 12.03.2004 - 16:13 | Всем спасибо все очень наглядно и понятно |
Mips 10 - 12.03.2004 - 19:21 |
DIVЕR, и ещё бы строку убрал, раз уж это так важно для тебя ;) print "<tr bgcolor='".(($i%2)?"gray":"silver")."'>\n"; А к чему там $adress ? он же не юзается. Ну и ещё пару строк убрать, написав.... print " <td>".trim($name)."</td>\n"; Хотя, по сути всё равно пробелы не видно будет... |
DIVЕR 11 - 15.03.2004 - 10:36 |
Mips, да можно вообще всё в одну строку написать =)) Я пытаюсь соблюдать меру (это по поводу убирания ещё одной строки) между рационализацией, количеством строк и читабельностью..... %) |
Mips 12 - 15.03.2004 - 15:06 | всё читабельно, читать просто надо уметь ;) |