Boucle do-while

Fermé
Foxy2Leo - Modifié par NHenry le 31/08/2015 à 22:23
 Utilisateur anonyme - 1 sept. 2015 à 08:40
Salut,

J'ai un petit soucis avec mon bout de code en l'usage de la boucle while(). En fait, je fait une requête à la base de données et après je fais une boucle while pour afficher seuls les articles par exemple. Et toujours sur la meme page, à l'aide de la même requette, je veux afficher les couleurs pour que le visiteur aie le choix de faire un tri en fonction de la couleur. Le problème est que lorsque j'utilise la boucle while pour la deuxième fois, la requête n'envoierien. J'espère que que j'ai bien exposé le problème,

Code de la requete :
$requette_produit = mysql_query("SELECT * FROM produit, genre, types, marque, categorie WHERE produit.idType=types.idType AND produit.idGenre=genre.idGenre AND produit.idmarque=marque.idmarque AND types.idCat=categorie.idCat AND produit.etat='1' GROUP BY categorie.libcat limit 3 ");
$afficher_produit = mysql_fetch_assoc($requette_produit);



Code affichage d'article
<?php do { ?>
<div id="article"><?php echo $afficher_produit['article'] ?></div>
<?php } while ($afficher_produit = mysql_fetch_assoc($requette_produit)) ?>


Code Affichage Couleur
<?php do { ?>
<li><?php echo $afficher_produit['couleur'] ?></li>
<?php } while ($afficher_produit = mysql_fetch_assoc($requette_produit)) ?>


Merci d'avance :)



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Utilisateur anonyme
1 sept. 2015 à 08:40
Bonjour

Pas besoin de refaire la requête, on peut repointer au début des résultats avec
mysql_data_seek($requette_produit,0)
.

Mais tu devrais surtout laisser tomber l'extension mysql_ native et utiliser mysqli ou PDO, car mysql_ est obsolète
1
NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 335
31 août 2015 à 22:25
A la place d'utiliser do...while, utilises simplement while :
while($afficher_produit = mysql_fetch_assoc($requette_produit))
{
...
} 



Si tu veux repasser le résultat, il te faut refaire ta requête.
0