13. oktober 2004 - 09:11
Der er
25 kommentarer og 1 løsning
Skifter farve hver anden gang
Hallo... Jeg har lavet et lille script der hedder gæstebog, som virker som det skal - stortset! Jeg har dog et lille problem! Når den "poster" den første comment, vil jeg gerne have at min <tr> får en baggrundsfarve der er gul, den anden comment er den så hvid, tredje gul igen.. osv osv osv... ! Hvis i ikke forstår, så skal jeg nok prøve at forklare bedre! På forhånd tak :D
Annonceindlæg fra Serpier
13. oktober 2004 - 09:18
#1
Du kan gøre sådan her: $x = 0; $query = mysql_query("SELECT * FROM tabel"); while ($row = mysql_fetch_array($query)) { if ($x == 0) { $color = "#123456"; $x = 1; } elseif ($x == 1) { $color = "#654321"; $x = 0; } //Så kan vi udskrive echo "<tr><td bgcolor=\"".$color."\">".$row["felt"]."</td></tr>"; }
13. oktober 2004 - 09:45
#2
eller lidt kortere $x = 0; $query = mysql_query("SELECT * FROM tabel"); while ($row = mysql_fetch_array($query)) { $color = ($x%2 ? "#123456" : "#654321"); //Så kan vi udskrive echo "<tr><td bgcolor=\"".$color."\">".$row["felt"]."</td></tr>"; $x++; }
13. oktober 2004 - 10:01
#3
eller lidt kortere: $x = 0; $query = mysql_query("SELECT * FROM tabel"); while ($row = mysql_fetch_array($query)) { $color = ( $x++ % 2 ? "#123456" : "#654321" ); //Så kan vi udskrive echo "<tr><td bgcolor=\"".$color."\">".$row["felt"]."</td></tr>"; } :)
13. oktober 2004 - 10:13
#4
coderdk>> sejt :o)
13. oktober 2004 - 10:18
#5
<table width="400" cellpadding="0" cellspacing="0" border="0" style="border: 1px black solid;"> <tr> <th style="border-bottom: 1px black solid; backgound-color: gray; color: White;"> Overskrift: </th> <th style="border-bottom: 1px black solid; backgound-color: gray; color: White;"> Dato: </th> <th style="border-bottom: 1px black solid; backgound-color: gray; color: White;"> Skrevet af: </th> <? $query = mysql_query("SELECT * FROM news ORDER BY news_id DESC"): $i = 3; while($row = mysql_fetch_object($query)){ $x = $i%2; if($x == 1){$color = "Silver"}else{$color = "White"} ?> <tr style="Background-color: <?=$color?>;"> <td> <?=$row->headline?> </td> <td> <?=date("j/n-Y", $row->date)?> </td> <td> <?=$row->username?> </td> </tr> <? $i++; } ?> </table>
13. oktober 2004 - 10:19
#6
Det er kun et eksempel, det virker nok ikke lige hvis du bare copy&paste'er det over i din kode, men det virker hvertfald for mig =)...
13. oktober 2004 - 10:40
#7
oups: ......... Skrevet af: </th> </tr> ]>--- Stop! hmm.. jeg manglede lige en slut tr ("</tr>")... he he
13. oktober 2004 - 10:42
#8
Lidt kortere, men jo kortere jo grimmere: $x = 0; $query = mysql_query("SELECT * FROM tabel"); while ($row = mysql_fetch_array($query)) { echo "<tr><td bgcolor=\"" . ( $x++ % 2 ? "#123456" : "#654321" ) . "\">".$row["felt"]."</td></tr>"; } :) hehe
13. oktober 2004 - 10:46
#9
*S* du more dig med at gøre den kode kort hvad =)
13. oktober 2004 - 10:51
#10
heheh lidt ;) Hvad med en one-liner: for ( $x = 0; $row = mysql_fetch_assoc( $query ); print( "<tr><td bgcolor='#" . ( $x++ % 2 ? "123456" : "654321" ) . "'>$row[felt]</td></tr>" ) ) ; :) lol
13. oktober 2004 - 10:52
#11
du er jo ikke normal... men det er jo heller ikke sjovt at være det alligevel :-)
13. oktober 2004 - 10:52
#12
Ja, den er så ikke særlig begynder venlig ;)
13. oktober 2004 - 10:53
#13
:D hehehe sådan noget kode er bare ikke sjovt at finde rundt i ;) Så dog lige jeg manglede den oprindelige query, så det blev vel en two-liner :P
13. oktober 2004 - 10:55
#14
Du kunne jo godt skrive sql strengen direkte ind: mysql_fetch_assoc(mysql_query("SELECT * FROM tabel")); Du havde heller ikke "" eller '' om indexet 'felt' i array'et :P
13. oktober 2004 - 10:56
#15
hehe ja frækkert med query'en i fetch'en - der skal ikke ' om dem, da de er inde i en "-streng ;)
13. oktober 2004 - 10:56
#16
;o), meeen vi skal vel ikke tale om "pretty" kode så
13. oktober 2004 - 10:58
#17
Hvis du skal ha et bestemt index, som er defineret som streng, skal det hentes sådan her: $array["streng"] eller $array['streng'] men hvis index er et tal, skal der ikke " eller ' om. Man bør også adskille strenge og variabler
13. oktober 2004 - 11:01
#18
uhh jeg har dårlig erfaringer med Query if fetch'en, det kan så let gå galt...
13. oktober 2004 - 11:02
#19
coderdk >> Der burde være som lavede en hjemmeside om at laver one-liner kode
13. oktober 2004 - 11:04
#20
ved siden af dit one-liner eksempel, føler jeg mig lidt flov over mit multi-multi-line svar... *G*
13. oktober 2004 - 11:04
#21
Definer en linie. $var = "noget"; echo $var; Det er jo faktisk to linier, da php læser til den måder et ;
13. oktober 2004 - 11:05
#22
ja det er da rigtigt, det er da en to liniers kode... *havde ikke set det*
13. oktober 2004 - 11:07
#23
True men: $var = array( "hest" => "tres" ); echo "Der er $var[hest] heste!"; Virker fint - Det er en smagssag om man vil skrive echo "Der er $var[hest] heste!"; eller echo "Der er " . $var["hest"] . " heste!"; Men gør man det sidste bør man bruge ' i stedet for " - da php leder efter variable og des lignende i "-strenge.
13. oktober 2004 - 11:12
#24
Ja, det virker, men burde ikke gøre det... (Blir forhåbentlig også rettet på et tidspunkt) Vil du ha din variable inden i strengen, så brug {} echo "Der er {$var['hest']} heste!";
13. oktober 2004 - 11:17
#25
Gutter, er vi ikke lige kommet en anelse off-topic?
13. oktober 2004 - 11:24
#26
bare for sjov - da tildelinger returnere det tildelte så drop dog x echo ( $color!="123456" ? $color="123456" : $color="654321" )."<br>"; echo ( $color!="123456" ? $color="123456" : $color="654321" )."<br>"; echo ( $color!="123456" ? $color="123456" : $color="654321" )."<br>";
Vi tilbyder markedets bedste kurser inden for webudvikling