IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Plusieurs while imbriqués pour expoitation de résultats [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut Plusieurs while imbriqués pour expoitation de résultats
    Bonjour à tous, j'ai un petit problème au niveau d'imbrication de plusieurs while...

    Enfait jai crée des treeView avec l'api de Yahoo, et jaimerais afficher plusieurs niveaux suivant mes résultats de requete.

    J'aimerais avoir u ntruc du genre

    resultat requete 1
    resultat requete2
    resultat requete2
    resultat requete3

    resultat requete 1
    resultat requete2
    resultat requete2
    resultat requete3

    resultat requete 1
    resultat requete2
    resultat requete2
    resultat requete3

    Cependant ma boucle ne fonctionne pas correctement, mes resultats s'affiche sur le premier niveau mais plus ensuite.

    En gros j'ai ca

    resultat requete 1
    resultat requete2
    resultat requete2
    resultat requete3

    resultat requete 1

    resultat requete 1


    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    while ($data = mysql_fetch_array ($result))
    	{
    		$id = $data[pos_idposte];
    		$lib = $data[pos_libelle];
     
    		$noeud1="var myobj$id = { label: '$lib', id:'myid$id' };";
    		$noeud2="var tmpNode$id = new YAHOO.widget.TextNode(myobj$id, tmpNode11, false);";
     
    		$lbldansleparc ="var myobjparc = { label: 'Dans le parc', id:'myidparc' };";
    		$lbleninstance ="var myobjinstance = { label: 'En instance', id:'myidinstance' };";
    		$lblareeformer ="var myobjreformer = { label: 'A réformer', id:'myidreformer' };";
    		$lblenpanne ="var myobjpanne = { label: 'En panne', id:'myidpanne' };";
    		$lblenstock ="var myobjstock = { label: 'En stock', id:'myidstock' };";
    		$lblsupprime ="var myobjsupprime = { label: 'Supprimé', id:'myidsupprime' };";
     
    		$dansleparc="var tmpNodeparc = new YAHOO.widget.TextNode(myobjparc, tmpNode$id, false);";
    		$eninstance="var tmpNodeinstance = new YAHOO.widget.TextNode(myobjinstance, tmpNode$id, false);";
    		$areeformer="var tmpNodereformer = new YAHOO.widget.TextNode(myobjreformer, tmpNode$id, false);";
    		$enpanne="var tmpNodepanne = new YAHOO.widget.TextNode(myobjpanne, tmpNode$id, false);";
    		$enstock="var tmpNodestock = new YAHOO.widget.TextNode(myobjstock, tmpNode$id, false);";
    		$supprime="var tmpNodesupprime = new YAHOO.widget.TextNode(myobjsupprime, tmpNode$id, false);";
     
    		echo $noeud1;
    		echo $noeud2;
    		echo $lbldansleparc;
    		echo $lbleninstance;
    		echo $lblareeformer;
    		echo $lblenpanne;
    		echo $lblenstock;
    		echo $lblsupprime;
    		echo $dansleparc;
    		echo $eninstance;
    		echo $areeformer;
    		echo $enpanne;
    		echo $enstock;
    		echo $supprime;
     
     
     
    		while ($data2 = mysql_fetch_array ($result2))
    		{
     
    			$id2 = $data2[pos_idposte];
    			$lib2 = $data2[pos_libelle];
     
     
    			$noeud11="var myobj$id2 = { label: '$lib2', id:'myid$id2' };";
    			$noeud12="var tmpNode$id2 = new YAHOO.widget.TextNode(myobj$id2, tmpNode$id, false);";
     
    			echo $noeud11;
    			echo $noeud12;
     
     
     
     
    			while ($data3 = mysql_fetch_array ($result3))
    			{
     
    				$id3 = $data3[pos_idposte];
    				$lib3 = $data3[pos_libelle];
     
    				$noeud111="var myobj$id3 = { label: '$lib3', id:'myid$id3' };";
    				$noeud222="var tmpNode$id3 = new YAHOO.widget.TextNode(myobj$id3, tmpNode$id2, false);";
     
    				echo $noeud111;
    				echo $noeud222;
     
    			}
     
     
    		}
     
     
     
    	}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quand tu fait une boucle while avec un fetch_array, ça déplace un pointeur d'enregistrement en enregistrement dans le resultat de la requète.

    Donc sur ton deuxième et ton troisème while, au premier passage tu déplace le pointeur juska la fin du résultat, puis au autre passage il ne fait rien vu qu'il est a la fin.

    Ce qu'il faut faire, c'est soit charger les resultat dans un tableau, soit reexecuter ta requète, soit utiliser mysql_result et num_rows pour parcourir ton resultat comme un tableau.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut
    Merci de ton aide,

    j'ai tout simplement mit ma requête dans le while...

    Ca fonctionne maintenant merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/03/2013, 15h29
  2. Réponses: 7
    Dernier message: 04/02/2013, 14h24
  3. Réponses: 2
    Dernier message: 03/09/2010, 13h00
  4. Plusieurs while imbriqués
    Par fedexpress dans le forum Langage
    Réponses: 2
    Dernier message: 15/10/2009, 14h36
  5. Réponses: 15
    Dernier message: 13/10/2009, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo