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 :

Doublons dans le resultat de requete


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 68
    Points : 58
    Points
    58
    Par défaut Doublons dans le resultat de requete
    Bonjour,

    Je rencontre un problème avec 2 requêtes SQL.

    En fait, quand je fais cela :
    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
     
    $query_chains = "SELECT * FROM chains ORDER BY chainid ASC ";
    $result_chains = odbc_exec($connexion, $query_chains);
     
    echo '<ul>';
     
    while($row_chains = odbc_fetch_array($result_chains)){
    $chainid = $row_chains['ChainId'];
    $query_sites = "SELECT sites.siteid, sites.name AS sitename, sites.customerid, chains.chainid, chains.name AS chainname FROM sites INNER JOIN sitesinchain ON sitesinchain.siteid = sites.siteid INNER JOIN chains ON chains.chainid = sitesinchain.chainid WHERE chains.chainid = $chainid ORDER BY sites.customerid ASC ";
     
    $result_sites = odbc_exec($connexion, $query_sites);
     
    echo 'CHAINE : ';
    echo $row_chains['Name'];
    while($row_sites = odbc_fetch_array($result_sites)){
    echo '<li>';
    echo '<input type="checkbox" name="'.$row_sites['siteid'].'" value="'.$row_sites['siteid'].'" checked="checked" />';
    echo $row_sites['customerid'];
    echo ' - ';
    echo $row_sites['sitename'];
    echo '</li>';  
    }
    }
    echo '</ul>';
    Je dois obtenir la liste des sites regroupés par chaine. Or j'ai un site qui est en doublon à l'affichage alors que je n'en ai pas dans la base.

    Merci d'avance de votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait un DISTINCT, mais pourquoi faire 2 requetes ? 1 seule suffis

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Euh... parce que je ne maitrise pas ?

    j'étais parti la dessus mais je rencontre des problèmes avec ODBC et les boucles...

    Tu me recommande de faire une boucle et d'y mettre l'exécution de ma requête avec la variable dans le WHERE plutôt ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par catapicultrophe Voir le message
    Euh... parce que je ne maitrise pas ?

    j'étais parti la dessus mais je rencontre des problèmes avec ODBC et les boucles...

    Tu me recommande de faire une boucle et d'y mettre l'exécution de ma requête avec la variable dans le WHERE plutôt ?
    non fait un jointure, pas besoin de faire 2 requêtes, une boucle suffira

  5. #5
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    une requete comme ceci devrait te convenir :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT sites.siteid, sites.name AS sitename, sites.customerid, chains.chainid, chains.name AS chainname 
    FROM sites 
    INNER JOIN sitesinchain 
    ON sitesinchain.siteid = sites.siteid 
    INNER JOIN chains 
    ON chains.chainid = sitesinchain.chainid 
    GROUP BY chains.chainid
    ORDER BY sites.customerid ASC

Discussions similaires

  1. [AC-2003] supprimer doublon dans le resultat de ma requete
    Par Didier71 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/12/2011, 11h50
  2. existance d'une entité dans un resultat de requete
    Par EIN-LESER dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/01/2009, 10h36
  3. creer champ avec valeur constante dans resultat de requete
    Par freejeje dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/05/2005, 10h52
  4. Éviter les doublons dans une requete
    Par royrremi dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2004, 19h37
  5. [C#] Affichage resultat de requete dans 2 Labels
    Par kenzo080 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 02/06/2004, 20h07

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