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 :

Récupérer des résultats de requêtes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut Récupérer des résultats de requêtes
    Bonjour, débutant en PHP, mon problème est à priori très simple, mais je me casse le nez dessus.

    pour expliquer, voilà 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
    	private function AfficherMenuGauche($admin)
    	{
    		$txt = 'Menu<br /><br />';
    		$sqlCat="SELECT libelle_categorie, id_categorie FROM categorie ORDER BY libelle_categorie";
    		$resultatCat = $this->query($sqlCat);
    		while($enrCat=$this->fetch_row())
    		{
    			$txt .= '<b>'.$enrCat[0].'</b><br />';
    			$sqlSite="SELECT libelle_site, id_site FROM site WHERE id_categorie = ".$enrCat[1]." ORDER BY libelle_site";
    			$resultatSite = $this->query($sqlSite);
    			while($enrSite=$this->fetch_row())
    			{
    				$txt .= '<a href="detail_site.php?site='.$enrSite[1].'">   '.$enrSite[0].'</a> <br />';
    			}
    		}
    		return $txt;
     
    	}
    explication:
    je fais une première boucle while pour afficher une catégorie.
    puis, pour avoir les sites correspondant à la catégorie, je refais une boucle, avec une requête contenant l'ID de la catégorie.

    voilà ce que je voudrais avoir:
    catégorie 1
    site 1
    site 2
    site 3
    catégorie 2
    site 1
    site 2

    etc....


    Le fait de faire une 2e boucle casse la 1e boucle j'ai l'impression:
    voilà ce que j'obtiens:
    catégorie 1
    site 1
    site 2
    site 3

    le résultat s'arrête ici... on dirait qu'il sort de la boucle, mais pourquoi ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 199
    Points : 116
    Points
    116
    Par défaut
    Dans un premier temps tu utilises cette fonction pour récupérer la première catégorie après une requète sur la BDD correspondante, puis tu refais une requète et réutilise donc cette fonction pour lister les sites => ok pour le premier passage dans les 2 boucles.
    Mais là pb : quand tu remontes pour avoir la deuxième catégorie en utilisant toujours la fonction ci-dessus ton objet BDD a encore (à mon avis) les infos de la dernière requète qui ont écrasé les infos de la requète des catégories => le fetch ne renvoi donc rien puisque tu as fais le tour des infos contenues (les sites) => il sort de la boucle...

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut
    une solution ?

    trouvé !

    tout regrouper en une seule requête !

    @+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2012, 15h48
  2. récupérer le résultat d’une requête CMD
    Par horkets dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/08/2007, 12h00
  3. Réponses: 5
    Dernier message: 23/02/2007, 09h04
  4. [MySQL] tableau HTML pour présentation des résultats de requêtes
    Par memel182 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/07/2006, 14h58
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

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