Comment faire une boucle while 4 balise style

Résolu/Fermé
Spykees76 - 5 oct. 2010 à 11:33
Spykees76 Messages postés 3 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 5 octobre 2010 - 5 oct. 2010 à 14:50
Bonjour,

Je suis en train de créer un site, dans sa partie haute, j'affiche un petit script de slide d'images sur des position fixe. 1 en haut a droite 1 en haut a gauche, bas droite .. ect

Les informations d'affichage (titre descriptif et images) viennent d'une base MYSQL. En cherchant un peu sur le net j'ai trouver comment modifier la couleur d'un tableau à chaque ligne et j'ai voulu l'adapter pour mon affichage. J'ai donc créer 4 classes (dans un css) d'affichage pour chaque emplacement.

1ère : openBottom openRight item1
2ème: openTop openLeft blue item2
3ème: openLeft openBottom green item3
4ème:openTop orange item4

j'ai ensuite créer le script php pour l'affichage :

<?php
$news_query =     "SELECT * FROM ".$table_news." WHERE valide ='1' ORDER BY news_date DESC LIMIT 0,4";
$news_result =     mysql_query($news_query);
$i = 0;
while($news_row = mysql_fetch_array($news_result)) {
    $class = ++$i % 2 ? 'openBottom openRight item1':'openTop openLeft blue item2';// C'est ici que je bloque
  
 //les infos $titre:jeu ..ect sont ici je les ai effacer pour gagner de la place

echo'<p title="'.$titre_jeu.'" class="'.$class.'">
            <a href="affiche_news.php?id='.$newsID.'"><img src="news/'.$DossierNewsPhoto.$newsPhoto.'" alt="'.$titre_jeu.'" class="p2"></a>
            '.$newsTitre.'<a href="affiche_news.php?id='.$newsID.'"> Détails &rarr;</a>
          </p>'; }
?>




Mon souci est que je ne comprends pas comment utiliser 4 information dans le $class j'ai beau chercher sur le net je ne trouve que des boucle pour deux informations.

Je vous remercie grandement d'avance de votre aide

A voir également:

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
5 oct. 2010 à 13:50
Bonjour,

Remplace la ligne suivante
$class = ++$i % 2 ? 'openBottom openRight item1':'openTop openLeft blue item2';// C'est ici que je bloque

Par ce bloc :
$i++;
switch ($i % 4)
{
    case 0: $class = 'openTop orange item4'; break;
    case 1: $class = 'openBottom openRight item1 '; break;
    case 2: $class = 'openTop openLeft blue item2 '; break;
    case 3: $class = 'openLeft openBottom green item3 '; break;
}


Voilà :)

Xavier
-1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
5 oct. 2010 à 13:52
Je n'ai pas gardé le ++$i parce qu'honnêtement, c'est plus un truc qui embrouille qu'un truc utile... Mais on aurait pu remplacer $i++... $i % 4 par ++i$ % 4.
0
Spykees76 Messages postés 3 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 5 octobre 2010
5 oct. 2010 à 14:50
Merci beaucoup Xavier pour ton aide!
0