06. november 2007 - 21:20
Der er
14 kommentarer og 1 løsning
Skifte bg farve for hver anden row man henter fra sin DB
Hvordan gør jeg sådan at f.eks hvis jeg har en tagwall og vil lave sådan at hver anden række jeg henter ind fra databasen skal skifte BG farve? :)
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
06. november 2007 - 21:29
#1
Her er et eksempel, hvis jeg har forstået dit spørgsmål korrekt. $gray = true; while($row = mysql_fetch_array($res)) { if($gray) { print "<tr bgcolor='#EEEEEE'>\n"; } else { print "<tr>\n"; } $gray = !$gray; print "<td>".$row["emne"]."</td>"; }
06. november 2007 - 21:34
#2
altså kan ikke helt se på det script om det er det jeg søger, men tror det ikke. :S sry. Vil lave sådan at hvis den nu henter f.eks. 5 rows fra min DB, så skal den første have en mørkeblå baggrund, og nr. 2 skal have en lyseblå bg. og så skal nr. 3 have en mørkeblå bg igen, osv. osv. :) hvis du/i forstår? :)
06. november 2007 - 21:40
#3
Jo, men du skal vel printe dine rows, hvilket jeg i ovennævnte eksempel gør med <table>-funktionen. Hvordan vil du liste dem???
06. november 2007 - 21:43
#4
så var det bare mig der ikke helt forstod dit eksempel tror jeg.. :P hehe. :) Men så skal jeg lave en row til databasen der hedder "gray", så jeg ikke? :)
06. november 2007 - 21:47
#5
$gray er bare en variabel, som skiftevis er true. Det er bare fordi jeg bruger grå som baggrundsfarve. Du kan bare sætte andre farvekoder: print "<tr>\n"; ændres til print "<tr bgcolor='#DDDDDD'>\n"; eller hvilken farve du nu vil have.
06. november 2007 - 21:49
#6
Du kan også gøre det sådan her: $count = 1; while($row = mysql_fetch_array($res)) { if($count == 1) { $color = '#eeeeee'; $count = 0; } else { $color = '#dddddd'; $count = 1; } echo "<tr style='height: 20px; background-color: ".$color.";'> }
06. november 2007 - 22:37
#7
forstår ikke helt hvorfor den gør det, men tror at jeg forstår det når jeg sætter det op, og ser dets funktion. :) Lyder mærkeligt når jeg jo godt ved hvad det gør. :) Men for at se når jeg kommer hjem, og tester det. :) (er hos en ven)
06. november 2007 - 22:46
#8
Ellers må du lige komme med noget af din kode - så kan vi sammen lave noget kode, der virker. Koden ovenfor er jo ikke fuldstændig, men jeg kan da godt lave et eksempel, hvor du bare skal rette feltnavne.
06. november 2007 - 23:14
#9
Her er min kode jeg gerne skal have ændret til at vise en anden bg farve pr 2 row den viser. :) <p style="padding-left: 5"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td colspan="2"><hr border="1" id="hr"></td> </tr> <? $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20"; $result = mysql_query($query); while($r=mysql_fetch_array($result)) { $str = $r[besked]; $str = nl2br($str); include("koder_tagwall.php"); $text = $str; include("smiley.php"); $newphrase = str_replace($healthy, $yummy, $phrase); ?> <tr> <td width="130" valign="top"><? echo "<span id=red><a target=_blank href=../brugerprofil.php?user=$r[navn]&page=1><u>$r[navn]</u></a></span>"; ?><br><? echo "$r[tid]"; ?><br><? echo"$r[level]"; ?></td><td width="252" valign="top"><p style="padding-left: 5"><? echo strip_tags($newphrase, $koder); ?></p></td> </tr> <tr> <td colspan="2"><hr border="1" id="hr"></td> </tr> <? } ?> </table></p>
06. november 2007 - 23:16
#10
det er hele min kode jeg har sat ind, men er sikker på at et geni som dig ved et øjekast sikkert forstår mere om det end jeg gør. :P selvom jeg selv har lavet det. (plus fået hjælp herinde fra til noget af det. :P)
06. november 2007 - 23:28
#11
Jeg fik det sat op af mig selv. :) Mange tusinde tak!! :) Kom med et svar, og få point. :)
06. november 2007 - 23:31
#12
<p style="padding-left: 5"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td colspan="2"><hr border="1" id="hr"></td> </tr> <? $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20"; $result = mysql_query($query); $count = 1; while($r=mysql_fetch_array($result)) { if($count == 1) { $color = '#eeeeee'; $count = 0; } else { $color = '#dddddd'; $count = 1; } $str = $r[besked]; $str = nl2br($str); include("koder_tagwall.php"); $text = $str; include("smiley.php"); $newphrase = str_replace($healthy, $yummy, $phrase); echo "<tr style='height: 20px; background-color: ".$color.";'>"; ?> <td width="130" valign="top"><? echo "<span id=red><a target=_blank href=../brugerprofil.php?user=$r[navn]&page=1><u>$r[navn]</u></a></span>"; ?><br><? echo "$r[tid]"; ?><br><? echo"$r[level]"; ?></td><td width="252" valign="top"><p style="padding-left: 5"><? echo strip_tags($newphrase, $koder); ?></p></td> </tr> <tr> <td colspan="2"><hr border="1" id="hr"></td> </tr> <? } ?> </table></p>
06. november 2007 - 23:34
#13
Hov - havde ikke set, at du havde fået det til at virke.
06. november 2007 - 23:36
#14
Det er fint nok, for kunne lige kigge det igennem.. :) Det er altid rart, plus at folk i fremtiden kan se hvad de skal lave. :)
07. november 2007 - 06:10
#15
while(...) { $bgcolor = ($bgcolor == "#F1F1F1" ? "#F0F0F0" : "#F1F1F1"); echo $bgcolor; }
Vi tilbyder markedets bedste kurser inden for webudvikling