Posez votre question Signaler

Modulo php [Résolu]

BanBan55 324Messages postés 24 février 2008Date d'inscription 29 septembre 2011Dernière intervention - Dernière réponse le 3 nov. 2010 à 11:09
Bonjour,
Voila j'expose mon soucis, je souhaite mettre en place un script modulo pour alterné les couleurs des lignes d'un tableau ou sont afficher les résultats d'une table sql
<?php
    for ($i=1; $i<= 10; $i++) {
    echo "$i:";
    if ($i%2) echo "impair "; else echo "pair ";
    }
    ?>

Pouvez vous me dire ou mettre ce code pour qu'il fonctionne ?
Lire la suite 

Modulo php »

4 réponses
Réponse
+9
moins plus
<?php
    for ($i=1; $i<= 10; $i++) {
    echo "$i:";
    if ($i % 2 != 0) echo "impair "; else echo "pair ";
    }
    ?>


par ce que $i % 2 te donne le reste de l'opération modulo , donc si = à 0 c'est pair, si !=0 c'est impair
Ajouter un commentaire
Réponse
+1
moins plus
Plus simple :
$row=($row=='row1')?'row2':'row1';
<div class="<?php echo $row; ?>">
Ajouter un commentaire
Réponse
+0
moins plus
merci pour l'explication
Ajouter un commentaire
Réponse
-1
moins plus
Bien que le sujet soit ancien, il est en première place sur google avec les mots clé "module php"

J'en profite donc pour vous proposer ma version de réponse :

<?php

$data = [réponse sql] // remplacez par le résulat sql ! :p

foreach ( $data as $row ) {

?>

<div class="<?php echo ( $i++%2 == 0 ) ? 'row1' : 'row2'; ?>">
<?php echo $row->content; ?>
</div>

<?php

}

?>


Comme vous pouvez le voir, tout se passe ici via l'opérateur ternaire :

<?php echo ( $i++%2 == 0 ) ? 'row1' : 'row2'; ?>

Ici on déclare $i directement dans la vérification. Au final on évite de déclarer un $i++; dans un coin du foreach, on évite le for, ou dans le cas d'un nombre de résultat dynamique il faudra obtenir le nombre de résultat pour définir la limite du for. Et puis ça a plus de gueule :D

Pour ceux qui ne savent pas comment marche l'opérateur ternaire lisez ceci :

L'opérateur ternaire c'est cette synthaxe : () ? : ;

On peu l'utiliser aussi bien avec un if qu'un echo, ou une variable (et d'autres choses que je n'utilise pas ? :p).

par exemple

$var = ( $i == 1 ) ? 0 : 1 ;
if ( $var == 1 ) ? echo 'foo' : echo 'bar' ;

bref ça marche comme une sorte de if else réduit.

echo ( vérification ) ? on affiche ça si c'est vrai : sinon on affiche ça ;

et voila l'équivalant en if else :

if ( vérif ) {
on affiche ça si c'est vrai
}
else {
sinon on affiche ça
}


bref voila ma solution :p

allez a+ !

http://www.e-devblog.com
Ajouter un commentaire
Ce document intitulé « Modulo php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook