Autor Zpráva
M**
Profil *
Jak udělám seznam, kde bude každá druhá položka jinak podbarvená?
Tagem P, DIV, popř. tabulkou
nightfish
Profil
budeš si počítat řádky a když bude sudý, dáš do <tr> jiné pozadí než u lichého

echo "<table>";
while (existujiradky) {
echo "<tr class='";
echo ($i++ % 2) ? "even" : "odd";
echo "'>...zbytek radku</tr>";
}
echo "</table>";
Alphard
Profil
pomocí <li class="cervena"> a <li class="modra">
vypisuješ to jak? cyklem? jestli ano, tak využiješ %2
M**
Profil *
<?php echo "<table>";
while (existujiradky)
{
echo "<tr class='clanek_lichy";
echo ($i++ % 2) ? "even" : "odd";
echo "'>...zbytek radku</tr>";
}
echo "</table>";?>

//Vypisuje donekonečna ...zbytek radku
M**
Profil *
Lichá barva: .clanek_lichy
Sudá barva: .clanek_sudy

Počet řádků: 10

Jak to mám převést do toho skriptu?
Nox_lbc
Profil
for ($x=0;$x<10;$x++) {

if ($x % 2 == 0) {
echo '<p class="clanek_lichy">';
} else {
echo '<p class="clanek_sudy">';
}
echo $text;
echo '</p>';
}
M**
Profil *
Nox_lbc
Díky
HGD
Profil
co přesně znamená toto???
echo ($i++ % 2) ? "even" : "odd";
to je výběr class pro sudý a lichý řádek ???
Joker
Profil
HGD
Ano.

echo ($i++ % 2) ? "even" : "odd";
tohle je holt psané trochu "pokročilým programátorem", pro začátečníka by to bylo takhle:

if(($i % 2) == 1) echo("even");
else echo("odd");
$i++;

Mimochodem, z tohohle rozepsaného je vidět, že to pojmenování tříd je obráceně ;-) Even (= sudá) bude v tomhle případě pro liché řádky a odd (lichá) pro sudé.
Kajman_
Profil *
že to pojmenování tříd je obráceně

nemyslím si
Joker
Profil
Kajman_
Není?
Já myslím, že je. I když v hlavě kontrolovat takhle "komprimovaný" kód není tak snadné, ale:
$i++ je post-inkrementace, takže se dřív vyhodnotí $i%2, což pro liché číslo dá 1, tj. true a pro sudé 0, tj. false. Takže pro liché i se podle mě napíše "even" (= sudý) a pro sudé "odd" (= lichý)

...

...

Tak pro jistotu jsem si to hodil do testovacího skriptu a mělo by to být tak jak píšu :o)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0