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 :

Requêtes Imbriquées.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut Requêtes Imbriquées.
    J'ai un soucis dans une fonction (c'est pas un soucis ,mais je pense qu'elle est super lente).

    Voila ,je m'explique :j'ai une table produit
    ce produit contient un champs région (clé étrangère de la table région)

    La table région contient plusieurs champs
    id : identité de la région (clé primaire)
    nom : nom de la région
    nom_pays : nom du pays de cette région

    Ma fonction affiche les produits par pays d'abord ,et si je clique sur un pays ,j'affiche les produits de ce pays

    donc j'ai une fonction qui fait ceci

    une requête sur région pour sélectionner les différents pays le résultat est mis dans un tableau résultat

    je fait ma boucle while sur le résultat ,et pour chaque pays ,je refait une autre requête pour chercher les produits correspondant à ce pays.

    et c'est super long

    donc j'aimerais savoir si le problème vient du fait qu'il y a deux requêtes imbriqués dans une boucle while qui ralenti la vitesse
    dans ce cas la ,si il y a un moyen de contourner ceci

    Merci de votre aide ,en vous souhaitant une agréable journée.

  2. #2
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut
    Bonsoir,
    on peut voir le code ?

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut
    Citation Envoyé par Christophe Charron
    Bonsoir,
    on peut voir le 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
     
    $resulttype4=SelectGroupe("type_depart,produits","type_depart.dep_ID,type_depart.id_pays,COUNT(*)AS nbre", "type_depart.dep_ID=produits.dep_ID AND produits.activ=0 AND produits.transac=0", "type_depart.id_pays");
     
       // SelectGroupe est une fonction qui fait un SELECT ... Grouped By
       // ici elle selectionne tout les pays ou il y a des produits 
     
    	while ($row4 = mysql_fetch_array($resulttype4)) {
    	    echo $row4['id_pays']; // affichage du pays 
    	    if ( ($Type!="")) {
    		// maintenant si j'ai cliquée sur un pays (je peux le savoir grace à $Type)
    		$sql = "SELECT type_depart.dep_ID,type_depart.nom_Dep
                              FROM type_depart,produits 
                              WHERE type_depart.dep_ID=produits.dep_ID 
                              AND produits.activ=0 
                              AND produits.transac=0 
                              AND type_depart.`id_pays` = '$Type'
                              GROUP BY type_depart.nom_Dep";
                              //je cherche les regions (ou departement du pays cliqué)			$resulttype3=mysql_query($sql) 
                                        or die ("Erreur:".mysql_error().$sql);
     
    		while ($row3 = mysql_fetch_array($resulttype3)) {						echo $row3['nom_Dep']; // j'affiche la region 
    		}
    		$Type="";   					
    	} 
     
    }
    Voila j'espere que c'est plus clair .
    cdt hbellahc

Discussions similaires

  1. Pb requête imbriquée
    Par ddams dans le forum Requêtes
    Réponses: 11
    Dernier message: 20/04/2004, 12h13
  2. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  3. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  4. Requêtes imbriquées ?
    Par Ph. B. dans le forum XMLRAD
    Réponses: 7
    Dernier message: 06/05/2003, 13h19
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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