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 :

fonction Count mysql php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut fonction Count mysql php
    Bonjour à tous,

    je travail sur un questionnaire, bien sur les réponses enregistrer dans la BD, j'ai testé mon requête mysql sous PhpMyAdmine, ca marche nickel , mais le pbm j'arrive pas à récupérer les résultats sur ma page php , car il faut placer chaque résultat individuellement à une place dédié à elle.

    ma requete :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Q1, COUNT(*) AS nombre_reponses FROM questionnaire WHERE Q1 IN (1, 2, 3, 4) GROUP BY Q1

    la requete est seulement pour la 1er question , sachant que j'ai 17 questions, je ne sais pas si je peux extraire les résultats de tous les questions par une seul requete.

    merci d'avance

  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
    A quoi correspond la colonne Q1 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    ces la colonne qui englobe les réponses de la première question sous forme [1, 2, 3, 4], car j'ai 4 choix

    Citation Envoyé par sabotage Voir le message
    A quoi correspond la colonne Q1 ?
    j'ai remplacer "where" par "having", mais j'ai ce msg :

    ( mysql_fetch_array(): supplied argument is not a valid MySQL result resource)

    Citation Envoyé par Dendrite Voir le message
    Quand on a un group by, having convient mieux que where

    Peux-tu tester cela ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Q1, COUNT(*) AS nombre_reponses 
    FROM questionnaire
    GROUP BY Q1
    HAVING Q1 IN (1, 2, 3, 4);

  4. #4
    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
    ces la colonne qui englobe les réponses de la première question sous forme [1, 2, 3, 4], car j'ai 4 choix
    Ta structure est mauvaise.
    Tu devrais avoir une table stockant les réponses
    colonne question_id, colonne reponse
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    bon ma base est comme suit :

    id|Q1|Q2|Q3|......|Q17|ip

    pour chaque colonne "Qn" je stock la réponse sous forme numérique (1,2,3,4), le problem c'est que je vous savoir combien du personnes ayant choisi la réponse 1, 2, 3 et 4 et sa pour les 17 questions.

    l'affichage doit être un sort de tableau avec un en-tête 1 - 2 - 3 - 4 et en dessous j'aurai les résultats.

  6. #6
    Membre actif
    Homme Profil pro
    Reverse Engineering
    Inscrit en
    Juin 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Reverse Engineering

    Informations forums :
    Inscription : Juin 2013
    Messages : 31
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Q1, COUNT(*) FROM questionnaire GROUP BY Q1;
    Et voila tu aura le nombre de réponse 1,2,3,4 de Q1

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Quand on a un group by, having convient mieux que where

    Peux-tu tester cela ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Q1, COUNT(*) AS nombre_reponses 
    FROM questionnaire
    GROUP BY Q1
    HAVING Q1 IN (1, 2, 3, 4);
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Comment remplacer des fonctions MySQL/PHP en Delphi
    Par Sundark dans le forum Débuter
    Réponses: 7
    Dernier message: 23/05/2008, 09h39
  2. [MySQL] fonction update en php avec mysql
    Par khamett dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/04/2008, 13h33
  3. Mysql Connector en fonction Count
    Par acesyde dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/06/2007, 09h58
  4. Réponses: 2
    Dernier message: 15/02/2007, 10h15
  5. Réponses: 14
    Dernier message: 17/03/2003, 18h31

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