problème de boucle imbriquées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de boucle imbriquées

par pat » 13 août 2007, 16:01

Merci,

l'erreur était devant mes yeux et je ne l'avais pas vue. Je pense que tu as raison, il faut que je fasse des efforts d'indentation .

Encore merci

par Ryle » 13 août 2007, 15:13

Balises [ php ] pour du code php, please :)

Ceci dit, m'est avis qu'il y a un truc qui va pas là :
   <?php } while ($row_categorie = mysql_fetch_assoc($produit)); ?> 
    <?php } while ($row_categorie = mysql_fetch_assoc($categorie)); ?>
Si tu utilises la même variable dans les deux boucles, ça risque fort de pas faire ce que tu souhaites...

Edit : pis un p'tit effort d'indentation aussi ça serait pas mal, histoire de repérer entre autre le do qui correspond au dernier while... les aligner et décaller ce qu'il contienne faciliterait la lecture ;)

problème de boucle imbriquées

par pat » 13 août 2007, 15:05

Bonjour,

j'ai imbriqué 2 boucles. Car je souhaite afficher tous les produits de chaque catégorie.
la table produit donne :

produit
categorie

balance mesure
conductimetre mesure

Le pb est que le resultat de mes boucles me donnent 2 fois balances pour la catégorie mesure au lieu de balance conductimètre.

Code : Tout sélectionner

<?php do { ?> <tr> <!-- ligne categorie --> <td class="texte12" style="background-image: url(../image/image-signe/bandeau-degradeo.jpg)"> <?php echo $row_categorie['categorie']; ?> <?php $cat = $row_categorie['id_categorie']; ?> </td> </tr> <!-- Fin ligne categorie --> <?php $colfourn2_produit = "54"; if (isset($_GET['fourn'])) { $colfourn2_produit = (get_magic_quotes_gpc()) ? $_GET['fourn'] : addslashes($_GET['fourn']); } mysql_select_db($database_connectgl, $connectgl); $query_produit = sprintf("SELECT t_article.id_prod, t_produit.produit, t_article.article, t_article.id_article, t_prodcat.id_produit, t_prodcat.id_categorie FROM t_article, t_produit, t_prodcat WHERE t_article.id_fourn = %s and t_produit.NumProd = t_article.id_prod AND t_prodcat.id_produit = t_article.id_prod AND t_prodcat.id_categorie = $cat GROUP BY t_article.id_prod", $colfourn2_produit); $produit = mysql_query($query_produit, $connectgl) or die(mysql_error()); $row_produit = mysql_fetch_assoc($produit); $totalRows_produit = mysql_num_rows($produit);?> <?php do {?> <tr> <!-- ligne produit --> <td class="texte12" ><?php echo $row_produit['produit']; ?><?php echo $row_produit['id_prod']; ?> </td> </tr> <!-- Fin ligne produit --> <?php } while ($row_categorie = mysql_fetch_assoc($produit)); ?> <?php } while ($row_categorie = mysql_fetch_assoc($categorie)); ?>