webForumDet fria alternativet

Varannan rad bg?

PHP

2 svar · 302 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Frågan#1

Bygger en sida i php, och hoppas man kan lösa detta via phpkod.

Jag vill läsa in flera rader ur en databas,
och vill att varannan rad skall ha bakrund #FFF, och varannan #000 ...

Någon som vet hur jag gör detta?
Jag läser in raderna såhär:

<table width="260px" cellpadding="2" cellspacing="0">
<?
$query_gig = "SELECT * FROM gig";
$gig = mysql_query($query_gig) or die(mysql_error());
$totalRows_gig = mysql_num_rows($gig);
while($row_gig = mysql_fetch_assoc($gig)) { 
?>     
<tr height="15px" class="bg_gig"> 
    <td width="60px"><h3><? echo $row_gig['date']; ?></h3></td>
    <td><h3><? echo $row_gig['band']; ?></h3></td>
    <td><h3><? echo $row_gig['stad']; ?></h3></td>
    <td><h3><? echo $row_gig['arena']; ?></h3></td>
</tr>   	   	
<?  } ?>
</table>
Medlem sedan mars 2007845 inlägg
#2

Sätt $cnt = 0; innan du börjar loopa inne i loopen sätter du
Sen använder du

$bg = ($cnt % 2 == 0) ? '#FFF' : '#000';
$cnt++;

för att ha olika bakgrunder.

Att ha $cnt++ inne i if-satsen borde fungera, men ger ibland felaktigt resultat har jag upptäckt.

Medlem sedan juni 20006 031 inlägg
#3
<table width="260px" cellpadding="2" cellspacing="0">
<?
$query_gig = "SELECT * FROM gig";
$gig = mysql_query($query_gig) or die(mysql_error());
$totalRows_gig = mysql_num_rows($gig);
$bg = ''; 
while($row_gig = mysql_fetch_assoc($gig)) { 
$bg = $bg != '#fff' ? '#fff' : '#000';  
echo '<tr height="15px" style="background-color:'.$bg.'">';
?> 
    <td width="60px"><h3><? echo $row_gig['date']; ?></h3></td>
    <td><h3><? echo $row_gig['band']; ?></h3></td>
    <td><h3><? echo $row_gig['stad']; ?></h3></td>
    <td><h3><? echo $row_gig['arena']; ?></h3></td>
</tr>   	   	
<?  } ?>
</table>
265 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)