boucle while imbriqués

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 : boucle while imbriqués

Re: boucle while imbriqués

par mika83 » 19 sept. 2011, 17:18

ok je vais essayer dans ce sens.
Pour la commande sql au dessus, je fait des essais aussi mais c'est moins adapté à ce que je souhaite faire ensuite.

Re: boucle while imbriqués

par popy » 19 sept. 2011, 15:00

Avant ton while($k<=3), tu ne remet pas $k à 0.

Remplace ta boucle imbriquée par une fonction, tu y verra plus clair

Re: boucle while imbriqués

par Mazarini » 19 sept. 2011, 14:02

Tu peux faire un seul select :
select "tes colonnes" from agents, exception_agents where agent.nom_prenom = exception_agent.nom_prenom

Re: boucle while imbriqués

par mika83 » 19 sept. 2011, 13:03

merci beaucoup,
et la solution alternative pour pouvoir faire ca ? j'ai pas trop d'experience donc je vois pas comment faire.

Re: boucle while imbriqués

par devlop78 » 19 sept. 2011, 12:50

Une fois que tu as récupéré des données, elles ne sont plus accessibles :

while(mysql_fetch_array()) marchera qu'une fois pour la même ressource, après non.

boucle while imbriqués

par mika83 » 19 sept. 2011, 12:12

bonjour à tous,
Après avoir chercher vainement sur le forum, je viens vers vous avant ma crise de nerfs.
Voila mon petit soucis, j'ai une boucle while qui passe en revue les enregistrement d'une table sql, et j'ai un autre while qui analyse une autre table sql afin de comparer les entrées de chaccune et faire une action en cas de concordance.
Le problème c'est le code fonctionne que pour la premier bouclage. J'ai donc testé avec une boucle simple sans sql, et c'est pareil. Voici mes deux codes pour y voir plus clair, si quelqu'un avait une explication ou une solution ce serai bien cool.
Le code test :

Code : Tout sélectionner

$i=1; if ($i==1){ $j=0; $k=0; while($j<=10){ echo $j."<br>"; while($k<=3){ echo "&nbsp;&nbsp;".$k."<br>"; $k++; } $j++; } } /*ce que ca affiche /*ce que je souhaiterai 0 0 0 0 1 1 2 2 3 3 1 1 2 0 3 1 4 2 5 3 6 2 7 ...etc 8 9 10 */
et mon vrai code :

Code : Tout sélectionner

$req=mysql_query('SELECT * FROM agents'); //on interroge la table agents $data2=mysql_fetch_array($req); //on mémorise les valeurs dans un tableau data2 $except=mysql_query('SELECT * FROM exception_agents'); //on interroge la table exception_agents $data3=mysql_fetch_array($except); //on mémorise les valeurs dans un tableau data3 if ($data3[0]=="1"){ //on teste si la table exception est alimentée echo "<u>il y a des exceptions </u><br><br>"; while($data2=mysql_fetch_array($req)){ while($data3=mysql_fetch_array($except)){ if ($nom_prenom2==$data3['nom_prenom3']){ //tiens compte de la casse donc a modifier echo '<tr class="corps"> <td>'.$data['Nom'].'</td>'; //ici on modifie le prenom si exception if ($data3['champ_except']!='Prenom'){ echo '<td>'.$data['Prenom'].'</td>'; } else echo '<td>'.$data3['valeur'].'</td>'; } } } } else echo "Il n'y pas d'exception";
Merci beaucoup.