farve hveranden post?

Tags:    php

Nu er jeg efterhånden ved at få rigtig mange grå hår i hovedet over at jeg simpelthen ikke kan lure hvordan man får hveranden post til at have en anden baggrundsfarve, i et fx forum eller nyhedssystem? Eller i en tabel generelt?

Hvad er hemmeligheden? :P



9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg vil da mene det kan gøres relativt simpel. Tag f.eks. følgende eksempel

[pre]
while ($row = mysql_fetch_array($query))
{
if ($color == 0)
{
echo "<table><tr><td class=farve1>$row['bla']</td></tr></table>";
$color = 1;
}
else
{
echo "<table><tr><td class=farve2>$row['bla']</td></tr></table>";
$color = 0;
}
}



Indlæg senest redigeret d. 04.06.2006 12:56 af Bruger #3275
du kan jo altid tjekke om postens nummer er lige eller ulige og så derefter farve fx. alle de lige nummers baggrunde!

her kan du se om der er tale om lige eller ulige:

$i = 10;
if ( $i&1 )
{
echo "$i er ulige";
}
else
{
echo "$i er lige";
}
[Kode ikke testet. Fandt den bare på nettet]



og hvornår skal det så defineres hvorvidt $color == 0 eller ej?.. jeg er ikke helt med..



og hvornår skal det så defineres hvorvidt $color == 0 eller ej?.. jeg er ikke helt med..


Det du kan gøre lige før while. Eller hvis $color ikke er defineret vil det ikke være 0. Derfor vil den tage koden i else hvor $color så bliver 0 ;).



Indlæg senest redigeret d. 04.06.2006 13:01 af Bruger #3275
du kan jo altid tjekke om postens nummer er lige eller ulige og så derefter farve fx. alle de lige nummers baggrunde!

her kan du se om der er tale om lige eller ulige:

$i = 10;
if ( $i&1 )
{
echo "$i er ulige";
}
else
{
echo "$i er lige";
}
[Kode ikke testet. Fandt den bare på nettet]


Har jeg også overvejet, men forestil dig at jeg har 2 fora:
Generelt
Blandet

hvis så jeg går ind og poster 1 post i generelt, får den id 1. hvis jeg poster endnu en post i generelt, får den id 2, og bliver dermed en anden farve end 1.

MEN! hvis jeg går ind i generelt, og poster, så får den id 1. Hvis jeg så derefter går ind i blandet, og poster første post, får den id 2. Går jeg tilbage og poster endnu en post i generelt, vil den få id 3, og dermed SAMME farve, som før.

Kan du se hvad jeg mener?



ja...men det skal heller ikke være efter ID, men nummer...altså.. på din liste over Generalt er der fx. 5 posts. så skal den tjekke hvilket nummer while'en er gang i ud af de 5 og farve derefter...men Jonas's forslag er bedre ;)



hmmm.. jeg begynder at forstå.. :)

Point til Jonas.



$c = 0;
while (lykke her) {
$color = $c%2 ? 'farve 1' : 'farve 2'; $c++;
}



eftersom du kun skrifter mellem 2 farver kunne du bare gøre

$Bool=true;
$Values=array("black","red");
for($i=0;$i<10;$i++){
$Bool=!$Bool;
echo "<div style='background-color:".$Values[$Bool]."'>T</div>";
}



t