Farve skift

Tags:    php

<table>
<tr>
<?
$result = mysql_query("SELECT * FROM usr");
$counter = 0;
while ($row = mysql_fetch_array($result)) {
if (++$counter > 1 && $counter % 2 == 1) { echo "<tr><td bgcolor='000000'>";
} else { echo "<td width='50%' valign='top'> ";
}
?>
<div class="medium">
<a href="index.php?page=artikler_show_cat&name=<?=$row['name']?>"><?=$row['usr']?></a>
</div>
</td>
</tr>
<?
}
?>
</tr>
</table>


Jeg skal have <td> til og skifte farve ved hver 2. Kan jeg også godt, udentaget den første. Det er som om den ikke tager den med i tælleren



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

if (++$counter > 1 && $counter % 2 == 1)



Hvis du vil have den til, at farve den først, så skal du ændre din If:

if(++$counter >= 1) && ($counter % 2 == 1){
}

Ellers kan du skrive din <td> udenfor din løkke.





<table>
<tr>
<?
$result = mysql_query("SELECT * FROM usr");
$counter = 0;
while ($row = mysql_fetch_array($result)) {
if (++$counter > 1 && $counter % 2 == 1) { echo "<tr><td bgcolor='000000'>";
} else { echo "<td width='50%' valign='top'> ";
}
?>
<div class="medium">
<a href="index.php?page=artikler_show_cat&name=<?=$row['name']?>"><?=$row['usr']?></a>
</div>
</td>
</tr>
<?
}
?>
</tr>
</table>


Jeg skal have <td> til og skifte farve ved hver 2. Kan jeg også godt, udentaget den første. Det er som om den ikke tager den med i tælleren


der er en meget nemmere metode til det der synes jeg selv:
Fold kodeboks ind/udKode 


altså, den tager din $counter og dividerer den med to og finder så ud af om resultatet er et heltal eller ej - hver anden gang vil den retunere false og resten af tiden true :)



Hvad gør:

++$counter

lægger den en til før eller efter if testen, eller sådan noget?



Hvad gør:

++$counter

lægger den en til før eller efter if testen, eller sådan noget?



Ja variablen bliver talt 'en op FØR den bruges.
$counter++ tæller først op EFTER variblen er brugt.

Basse



t