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

Requêtes MySQL Discussion :

mettre les résultat d'une requête sur plusieurs colonne


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2011
    Messages : 28
    Points : 14
    Points
    14
    Par défaut mettre les résultat d'une requête sur plusieurs colonne
    Bonjour,
    voilà j'ai une requête sur une BDD SPIP relative au contenu des formulaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT leschamp.valeur, leschamp.id_donnee
    FROM spip_forms_donnees_champs leschamp ,spip_forms_donnees don
    WHERE leschamp.id_donnee=don.id_donnee AND don.id_form=12
    Qui fonctionne bien et qui me renvoie un résultat du type :
    prenom1,520
    nom1,520
    mail1,520
    prenom2,521
    nom2,521
    mail2,521
    Nom, prénom et mail sont dans une même colonne (valeur), or j'aimerais avoir une réponse en groupant par ligne les valeur qui ont un id_donnee identique (520 dans l'exemple).
    Je tourne en rond et ne sais pas comment m'y prendre pour obtenir un tel résultat.
    Si quelqu'un a une idée sur la façon de s'y prendre, je le remercie par avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    Comment reconnait-on un prénom d'un nom et d'un mail vu votre structure ...?

    impossible en l'état.

    fin bref, regardez du côté de group concat http://dev.mysql.com/doc/refman/5.0/...functions.html

    Et normalisez un peu vos jointure ! http://sqlpro.developpez.com/cours/sqlaz/jointures/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2011
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    et merci pour la réponse.
    Pour la normalisation des jointures, impossible, ce sont des tables toutes faites par spip et je ne suis pas en mesure de redévelopper le plugin qui se sert de ces tales.
    Je regarde vos liens dès que possible.
    Encore merci pour votre rapidité.

  4. #4
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    vu que c'est un formulaire ouvert, est-ce que tu as une colonne du genre leschamp.type ou leschamp.nom qui permet de différencier tes valeurs?

    et est-ce que le nombre des types des valeurs est variable ou fixe (toujours 3) ?

    déjà normalise ta requête avec une jointure...

    ensuite, tu as 2 approches:
    • si fixe, autan de inner join pour obtenir chaque valeur en une ligne
    • si tu veux récupérer toutes les valeurs dont le nombre est variable, group_concat et un group by sur leschamp.id_donnee

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2011
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    et merci pour ton aide.
    Le problème est que ces données proviennent d'un formulaire spip, et qu'il ne m'est ni possible de changer le formulaire, ni les tables qui récupèrent les données.
    En fait, j'ai créer une table ou j'importe mon résultat de requête, et j'essaie de mettre en place un script php pour obtenir ce que je veux.
    Sinon, le nombre de valeur est variable !
    En tout cas, merci de votre aide.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/03/2013, 15h29
  2. Résultat d'une requête sur plusieurs colonnes
    Par manucha dans le forum Oracle
    Réponses: 9
    Dernier message: 19/12/2007, 12h04
  3. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20

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