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

Langage SQL Discussion :

"Group by" ou autre ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut "Group by" ou autre ?
    Bonjour à tous

    J'aimerais afficher des donnée et les classer par groupe tout en affichant qu'un seul titre mais toutes les données.

    Dans ma base j'ai les champs suivants:
    type, nom, prix.

    Mais quand je fais un GROUP BY 'type', il m'affiche que la première entrée de ce type et ce type en question.

    Quand ce que j'aimerais avoir comme résultat ressemblerais à ceci :

    Type 1
    nom 1
    nom 2
    nom 3

    Type 2
    nom 1
    nom 2
    nom 3

    etc...

    Autrement dit, j'aimerais afficher les résultats complet de mes groupes.

    Au lieu de :

    Type 1
    nom 1
    Type 2
    nom 1
    etc...

    J'ai été lire sur le ROLL UP ici mais ça ne semble pas convenir à mes besoins.

    J'ai aussi été voir http://sql.developpez.com/sqlaz/ensembles/#L1 mais en vain.
    Je ne veux pas faire de calcul, juste de l'affichage.

    D'ailleurs, je ne suis même pas sur si je doit utiliser la clause GROUP BY.

    Quelqu'un pourrais m'aider ou me faire part de documentation sur le sujet s.v.p

    Merci à l'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Un truc comme ça peut être :

  3. #3
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Merci pour la réponse mais ça ne revient pas à faire comme un ORDER BY nom ?

    Car oui,il me donne tous les résultats mais ils sont aussi tous précédés par le type.

    Soins du visage Oxygène - Soin Oxygène - 95
    Soins du visage Phytocéane - Soin Hydracéa - 95
    Soins du visage Phytocéane - Soin Océapur - 95
    Soins du visage Sothys - Peeling à l’acide glycolique - 65
    Soins du visage Sothys - Soin correcteur - 65
    Soins du visage Sothys - Soin des yeux - 35
    Soins du visage Sothys - Soin hydroptimal - 75
    Soins du visage Sothys - Soin introduction - 60
    Soins du visage Sothys - Soin Lift Défense - 80

    J'aimerais afficher de cette façon :

    Soins du visage Oxygène
    - Soin Oxygène - 95

    Soins du visage Phytocéane
    - Soin Hydracéa - 95
    - Soin Océapur - 95

    Soins du visage Sothys
    - Peeling à l’acide glycolique - 65
    - Soin correcteur - 65
    - Soin des yeux - 35
    - etc...

    Mon code pour l'affichage :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php do { ?><div id="ShowData">
    <?php echo $row_show_data['type']; ?> - <?php echo $row_show_data['nom']; ?> - <?php echo $row_show_data['prix']; ?></div>
    <?php } while ($row_show_data = mysql_fetch_assoc($show_data)); ?>
    Désolé de ne pas avoir été plus explicite.

    Et merci encore

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Citation Envoyé par Orb Dorb
    Merci pour la réponse mais ça ne revient pas à faire comme un ORDER BY nom ?
    Si type+nom sont uniques dans la table oui c'est vrai ...

    Après c'est un problème de mise forme de données retournées et SQL est mal adapté à cela ...

    cf:
    Cosmétique ...

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    en effet ce n'est pas adapté de faire cela en mysql,

    il faut traiter cela au niveau php.
    -tu fais ta requete pour récupérer tes types
    - a chaque type récupérer, tu fais une seconde requete pour recuperer tous les noms de ce type

    je pense que ce sera le plus facile

    bon courage

    Michel

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Citation Envoyé par Cybher
    salut,

    en effet ce n'est pas adapté de faire cela en mysql,

    il faut traiter cela au niveau php.
    -tu fais ta requete pour récupérer tes types
    - a chaque type récupérer, tu fais une seconde requete pour recuperer tous les noms de ce type ...
    Je ne connais pas le PHP et là je ne peux rien dire ...
    Mais avec un langage de programmation "classique" il suffit de détecter une rupture sur le type et de gérer alors l'affichage ...
    Enfin, moi c'est ce que j'aurais fait en COBOL ...

Discussions similaires

  1. quoted string not properly terminated & autres
    Par gRRosminet dans le forum SQL
    Réponses: 14
    Dernier message: 17/01/2013, 14h17
  2. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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