Question de requête.

Tibou -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila je suis en train de créer mon site et j'ai besoins de vous.
Voila j'aimerais afficher 5 résultat jusque la rien de problématique.
Mais c'est 5 résultat ne doivent pas etre les 5 premier mais je veux prendre 1 resultat sur 2 et en afficher 5 donc exemple:

Résultat 1
Résultat 2
Résultat 3
Résultat 4
Résultat 5
Résultat 6
Résultat 7
Résultat 8
Résultat 9

et ben moi je veux qu'il m'affiche
Résultat 1
Résultat 3
Résultat 5
Résultat 7
Résultat 9

pour le moments j'utilise une boucle while mais je ne sais pas comment passer un résultat sur 2 quelqu'un pourrais m'aider ?

voila mon code :
       <?php  
     $Requete_Index_Default_Defi_0 = mysql_query('SELECT * FROM Defi Where Nom_Statut="En Cours" ORDER BY Id_Defi DESC');  
  while ($Retour_Index_Default_Defi_0 = mysql_fetch_assoc($Requete_Index_Default_Defi_0)) 
  { 
  echo' 
     <table width="378px" height="100" border="1"> 
            <tr> 
                <td width="105" rowspan="2">photo</td> 
                <td width="209" height="23" colspan="2">titre</td> 
            </tr> 
            <tr> 
                <td height="70" colspan="2"> </td> 
            </tr> 
        </table> 
        <hr />';  
  } 
  ?>


2 réponses

weax
 
tu ajoute un compteur dans ta boucle que tu incrémente à chaque passage.

ensuite avec un if/else tu regarde si le compteur a une valeur paire ou impaire et tu affiche ou non les données
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

mysql_fetch_assoc() retourne les résultats ligne par ligne. Quand il n'y en a plus, il retourne false (donc la boucle s'arrête).

Tu peux donc faire un appel inutile à la fin de la boucle.
Ainsi, après l'affichage du premier résultat, tu appeleras mysql_fetch_assoc(), ce qui retournera la deuxième ligne. Lorsque la boucle recommencera, la fonction sera de nouveau appelée donc la boucle affichera le 3ème résultat.

<?php  
     $Requete_Index_Default_Defi_0 = mysql_query('SELECT * FROM Defi Where Nom_Statut="En Cours" ORDER BY Id_Defi DESC');  
  while ($Retour_Index_Default_Defi_0 = mysql_fetch_assoc($Requete_Index_Default_Defi_0)) 
  {
  echo'
     <table width="378px" height="100" border="1"> 
            <tr> 
                <td width="105" rowspan="2">photo</td> 
                <td width="209" height="23" colspan="2">titre</td> 
            </tr> 
            <tr> 
                <td height="70" colspan="2"> </td> 
            </tr> 
        </table> 
        <hr />';
        mysql_fetch_assoc($Requete_Index_Default_Defi_0);
  }
  ?>
0