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 :

mysql_fetch_array($result) ne retourne qu'un seul élément de GROUP BY


Sujet :

PHP & Base de données

  1. #1
    Acropole
    Invité(e)
    Par défaut mysql_fetch_array($result) ne retourne qu'un seul élément de GROUP BY
    Bonjour,

    avec la requete suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     $query = "SELECT id, theme, titre FROM maTable GROUP BY theme ORDER BY activite, id";
     $result = mysql_query($query);
     while($group = mysql_fetch_array($result)){
      echo "<pre>";
      print_r($group);
      echo "</pre>";
     }
    Je n'ai que le premier résultat de chaque groupe.
    Idem avec les autres fetch.

    J'ai beau chercher sur le net, je ne trouve jamais de code php récupérant les groupes, même si beaucoups font comme si c'était possible.

    Quelle est la fonction magique ?

    Merci.

  2. #2
    Membre éprouvé Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    Vous voulez récupérer quoi exactement ?

  3. #3
    Acropole
    Invité(e)
    Par défaut
    Tout !
    Je m'attendai à récupérrer un tableau des éléments de chaque groupe.
    Evidemment je pourrai récupérrer toute la table et faire le tris en suite en php, mais group by est la pour ça (et order by aussi).

  4. #4
    Membre éprouvé Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    Vous voulez tous les id et titre pour chaque thème ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = "SELECT id, theme, titre FROM maTable GROUP BY theme ORDER BY activite, id";
     $result = mysql_query($query);
     while($group = mysql_fetch_array($result)){
      echo "<pre>";
      print_r($group);
      echo "</pre>";
     }

    l'affichage c'est pluto sa pour la boucle while:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while($group = mysql_fetch_array($result)){
      echo "<pre>";
      echo $group['id'].'<br>';
      echo $group['theme'].'<br>';
     echo $group['titre'].'<br>';
     
    echo "</pre>";
     }

  6. #6
    Acropole
    Invité(e)
    Par défaut
    Citation Envoyé par Cobaye Voir le message
    Vous voulez tous les id et titre pour chaque thème ?
    Je ne vois pas ce que ça change.

    l'affichage c'est pluto sa pour la boucle while:
    La non plus je ne vois pas le rapport avec la question. Print_r marche trés bien et est beaucoup plus cours. Avec votre méthode ça fait un sacré bout de code si il y'a des dizaines de colonnes...

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    La clause GROUP BY s'utilise conjointement avec certaines fonctions de comptage/calculs et quelques autres trucs. Elle n'a rien à faire dans cette requête.

  8. #8
    Acropole
    Invité(e)
    Par défaut
    Bon, je vois que j'aurais pas la réponse.
    Merci quand même.

  9. #9
    Membre éprouvé Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    Le problème c'est que l'on ne comprend pas votre demande !

  10. #10
    Acropole
    Invité(e)
    Par défaut
    Le problème est que mysql_fetch_array ne retourne pas la totalité des résultats de la requête sql.
    Seulement 1 résultat par groupe.
    Il y'a 8 thèmes et seulement 8 résultats même s'il y'a plusieurs enregistrements par thème.
    Ca devrait me retourner la centaine d'enregistrements de la table groupés par thèmes.

  11. #11
    Membre éprouvé Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    Vous pouvez mettre la structure de votre table ?

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/02/2007, 01h18
  2. Requete: Jointure sur un seul élément
    Par Strontium dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/01/2007, 14h39
  3. [XSD] à la recherche d'un seul élément
    Par Arbiorix dans le forum Valider
    Réponses: 2
    Dernier message: 10/01/2007, 08h09
  4. SELECT d'un seul élément
    Par Siteac dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/11/2006, 22h17
  5. Réponses: 3
    Dernier message: 04/10/2005, 15h13

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