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 PHP Discussion :

Compter le nombre de fois 1 occurrence


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 211
    Par défaut Compter le nombre de fois 1 occurrence
    Bonjour,

    Je souhaite faire des stats de vote sur mes musiques en comptant le nombre d'étoiles sur un champ par exemple dans ma table, j'ai les champs: musique, paroles, voix

    Quand on vote, on clique sur: 1 étoile = 1, 2 étoiles = 2 et cela jusqu'à 5 et les données sont enregistrées dans la table.

    Maintenant je souhaite parmi tous les votes (entrées) compter combien de fois musique = 1, 2 etc. pareil pour les autres champs.

    Le problème est que je n'y arrive pas alors j'essaie de cette façon mais je n'obtiens pas le résultat souhaité:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $sql1 = 'SELECT musique, COUNT(musique) as nbVote
    FROM je_fais_des_reves
    GROUP BY musique';
    $result1 = $conn->query($sql1);
     
    $sql2 = 'SELECT musique, COUNT(musique) as nbVote
    FROM je_fais_des_reves
    GROUP BY musique';
    $result2 = $conn->query($sql2);

    jusqu'à 5 puisque 5 étoiles

    Je vous remercie de votre aide

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    Tu veux un décompte des votes.

    Mais je n'ai pas bien compris, où sont enregistrés les votes exactement ?

    Tu ne montres qu'une colonne musique/nbVote, ce n'est pas suffisant pour ce que tu veux faire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 211
    Par défaut
    Je pense que c'est suffisant comme ma copie d'écran, chaque ligne (donc chaque vote) a son nombre d'étoiles par exemple pour le premier enregistrement, le votant a mis 1 étoile pour la musique, 2 pour les paroles et 4 pour la voix.
    Parmi les 3 enregistrements que l'on voit, je souhaite extraire le nombre de fois que les votants on saisis pour 1, 2, ... 5 d'étoiles comme dans la deuxième copie d'écran sauf que dans la deuxième copie, cela me renvoi plusieurs lignes au lieu d'une et en plus avec le mauvais compte:

    Nom : bd.png
Affichages : 137
Taille : 27,8 Ko
    Nom : result.png
Affichages : 125
Taille : 10,1 Ko
    Nom : frm.png
Affichages : 135
Taille : 33,4 Ko
    Images attachées Images attachées  

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    OK, pour chaque ligne de la table "je_fais_des_reves" tu as un vote /5 de musique, voix, paroles.

    Pour connaître la répartition des votes "musique" :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ALL musique, COUNT(*)
    FROM je_fais_des_reves
    GROUP BY musique
    ORDER BY musique ASC

    (ce qui revient à peu près à ce que tu avais fait)

    Attention, avec cette requête les votes n'ayant jamais été faits ne seront pas visibles, ex. tu n'auras pas "1 étoile" = 0
    Cela peut se gérer plus ou moins élégamment selon ton serveur de BdD et sa version, quel est-il ?

    Concernant ta 2nde capture d'écran, on a plutôt un problème côté affichage. Je pense que tu ne prends pas en charge les trous (pas de vote musique à 2 ou 3 étoiles) et que tu boucles sur des lignes alors qu'il faut plutôt boucler sur les colonnes.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 211
    Par défaut
    Je n'avais pas pensé à ça alors je fais:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
      if ($result1->num_rows > 0) {
       while ($row1 = $result1->fetch_assoc()) {
       ?>
      <div class="col text-center border border-1"><?php echo $row1['musique']; ?></div>

    mais je ne sais pas boucler sur une colonne alors le résultat est le même.

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    mais je ne sais pas boucler sur une colonne alors le résultat est le même.
    Comment gères-tu les "trous" dans ton tableau ? Ex. avec ta data il y a 0 vote sur 2 et 3 étoiles.
    Sans davantage de code ce sera dur de t'aider.

Discussions similaires

  1. Réponses: 16
    Dernier message: 14/09/2006, 06h43
  2. Réponses: 2
    Dernier message: 22/06/2006, 13h59
  3. Réponses: 2
    Dernier message: 23/05/2006, 18h45
  4. compter le nombre de fois qu'un fichier a été chargé
    Par phpaide dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/05/2006, 17h51
  5. Réponses: 2
    Dernier message: 06/01/2006, 23h18

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