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 :

problème affichages de données avec group by


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut problème affichages de données avec group by
    bonjour

    pouvez m'aider a construire cette requête

    j'ai deux clubs et clubsetjoueurs, une contient les clubs et l'autre regroupe chaque clubs et leurs joueurs

    donc clubsetjoueurs :

    id joueur id_club

    je veux afficher les joueurs de chaque club ,

    donc le résultat plus ou moins sera comme ça :

    FC BARCELONE
    missi
    pedro
    iniesta
    .....

    REAL MADRID
    ronaldo
    casillas
    benzima
    ...

    voila le requête que j’utilise (PDO)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     $sth = $this->db->prepare("SELECT  b.joueur , a.nomdeclub
    					 FROM
    					  clubsetjoueurs b,  clubs a  WHERE
    															b.id = a.id_club  GROUP BY a.id_club");
    															$sth->execute();
    																$data = $sth->fetchAll();
    j'obtiens comme resultat

    FC BARCELONE missi
    REAL MADRID ronaldo

    merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    GROUP BY sert à faire des aggregations comme SUM, COUNT etc.
    Un jointure se faire avec JOIN.

    Le plus simple est de trier les informations par nomdeclub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sth = $this->db->prepare("SELECT  b.joueur , a.nomdeclub
    					 FROM
    					  clubsetjoueurs b JOIN clubs a  ON b.id = a.id_club
                                             ORDER BY nomdeclub");
    $sth->execute();
    $curclub = '';
    while ($data = $sth->fetch()) {
        if ($data['nomdeclub'] != $curclub) {
            echo '<p>' . htmlspecialchars($data['nomdeclub']) . '</p>';
            $curclub = $data['nomdeclub'];
        }
        echo '<p>' . htmlspecialchars($data['joueur']) . '</p>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut
    merci sabotage pour l'aide

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

Discussions similaires

  1. Problème affichage de données avec héritage
    Par Saphir09 dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2011, 18h56
  2. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34
  3. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 15h45
  4. [MySQL] Problème récupération de données avec un SELECT DISTINCT
    Par 12_darte_12 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2005, 14h48
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

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