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 :

Regrouper des enregistrements [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 52
    Par défaut Regrouper des enregistrements
    Bonjour,

    Je viens de chercher dans les FAQ et Tutoriels et je n'arrive à trouver ma réponse.

    Je souhaite regrouper des enregistrements entre eux.

    J'ai deux tables Marques et Modèles.

    Je souhaite afficher de la façon suivante :
    Renault
    Clio
    R25
    Cïtroën
    C25
    xx

    Actuellement, j'arrive à afficher de cette façon :
    Renault
    Clio
    Renault
    R25
    citroen
    C25
    ...

    je pense qu'il faut que je fasse des boucles... mais je ne sais pas faire.

    est-ce que quelqu'un pourrait me montrer un exemple de code php ?

    Merci de votre aide,
    Laurent

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut
    Ce que tu peux faire c'est un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $sql = "SELECT * FROM MARQUE";
    $ret = mysql_query($sql);
    while($don = mysql_fetch_array($ret))
    {
        echo $don['nom_marque'];
        $sql2 = "SELECT * FROM MODELE WHERE id_marque='".$don['id_marque']."'";
        $ret2 = mysql_query($sql2);
        while($don2=mysql_fetch_array($ret2))
              echo $don2['nom_modele'];
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 52
    Par défaut
    Merci pour ta réponse.

    Cependant, j'aurais préféré avoir qu'une seule requête. Et que ensuite, je puisse gérer des boucles (ou autre chose).
    Dans le cas que tu proposes, si j'ai plein de regroupements à faire, je dois "découper" la requête ?

    Merci

    Laurent

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Psymon La requete imbriqué dans le while , si il à 500 marques de voitures , le serveur va en prendre pour son grade

    laurent35 as tu essayé avec un GROUP BY nom_marque dans ta requête ?

    Si jamais tu t'en sort pas directement avec SQL , tu peux toujours construire un tableau au fur et a mesure que tu boucle sur tes résultats :

    $voiture = array("Renault" => array('clio','megane',),"Pijo"=> array('','',''))
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    Cette une mauvaise manière de faire, les jointures existe pour pallier à ce besoin, et sont pas conséquent plus performante.
    Va voir dans les jointures, dans la FAQ.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut
    J'admets que je ne me suis jamais demandé la charge que ça demanderait pour un serveur étant que je manie des tables avec très peu de données . Je pense que j'optimiserai un peu plus mes requêtes la prochaine fois

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

Discussions similaires

  1. [WD14] Regrouper des enregistrements
    Par matrixdine dans le forum WinDev
    Réponses: 3
    Dernier message: 04/11/2011, 08h37
  2. Réponses: 2
    Dernier message: 15/07/2009, 04h48
  3. regrouper des enregistrements dans un timestamp
    Par grimat dans le forum Débuter
    Réponses: 4
    Dernier message: 27/02/2009, 08h05
  4. comment regrouper des enregistrements ?
    Par lecongolais dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/09/2006, 19h11
  5. SQL - Regrouper des enregistrements...
    Par Régent dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/02/2005, 23h42

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