Alternant entre pairs et impairs dans une boucle while en PHP
Hé les gars,
Travaillé sur le couple de lignes de code mais je n'arrive pas à le faire fonctionner. Fondamentalement, je veux alterner entre pairs et impairs de la table des styles via une boucle while. Ce que je fais mal?
Me semble que c'seule boucle par le si() à chaque fois.
Merci!
<?php
include 'connect.php';
echo "<table id='hor-zebra'>";
$i = 0;
while($row = mysql_fetch_array($result))
{
if(i%2 == 0)
{
echo "<tr class='even'>";
echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
echo "</tr>";
}
else
{
echo "<tr>";
echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
echo "</tr>";
}
$i++;
}
echo "</table>";
mysql_close($con);
?>
1) Ne pas dupliquer les blocs de code lorsque vous n'en avez pas besoin.
echo "<tr class='".($i%2 ? 'odd' : 'even')."'>"
serait très bien fonctionner. 2) Si vous avez activé sur l'écran des erreurs, vous remarqueriez le problème avec le manque $
tout de suite.OriginalL'auteur Ismailp | 2011-05-24
Vous devez vous connecter pour publier un commentaire.
Vous avez une erreur de frappe dans votre
if
condition. Il doit être:Vous pouvez également enregistrer quelques frappes simplement en attribuant le nom de la classe à une variable dans le if et else blocs:
Vous pouvez même améliorer cette poursuite de l'utilisation de ce:
$class = ( $i % 2 == 0 ) ? 'even' : 'odd';
OriginalL'auteur Emil Vikström
vous pouvez également utiliser le css .nth-child propriété
Comme par exemple W3
il devrait, si elle n'est pas alors son le manque de navigateur ne supportant pas la w3 spécifications
OriginalL'auteur Khurram Ijaz
Vous avez oublié un '$'
Devrait être
OriginalL'auteur Johan
Remplacer cette ligne...
...avec les éléments suivants:
OriginalL'auteur Jeroen
Ce qui peut encore être amélioré.
OriginalL'auteur Jonathan
CSS-Tricks a posté un très très solution élégante à ce problème.
Il apparaît comme la super-réducteur de C++ de la magie. Essentiellement, ils le font:
Cela fonctionne dans une boucle for: for, foreach et tout.
La modification de l'entier vous donne de plus grandes tailles de pas, c'est à dire reset après 3, réinitialiser après 4 et ainsi de suite.
CSS-Tricks solution finale
OriginalL'auteur dawg