Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher une valeur predominante

Sujet résolu
    1 avril 2020 à 14:30:09

    Bonjour à tous,

    Je cherche à afficher le résultat d'un requête SQL (MYSQL)selon la prédominance d'une couleur pour un utilisateur.

    Par exemple :

    Pour l'utilisateur "1" il y 3 ROUGE et 2 BLANC,donc prédominance pour le ROUGE.

    Je voudrais afficher "votre prédominance est le ROUGE."

    Et là je ne sais pas comment m'y prendre :

    $sql = $bdd->query('SELECT count(couleur) AS preference FROM mes_couleurs
                    WHERE id_utilisateur='.$_SESSION['id_utilisateur'].'
                    GROUP BY couleur');
                    
                    while($donnees = $sql->fetch())
                    {
                        echo $donnees["preference"];
                       
                    }


    Je prends toutes les idées :)

    Un grand merci

    -
    Edité par legrec 1 avril 2020 à 14:32:36

    • Partager sur Facebook
    • Partager sur Twitter
      1 avril 2020 à 19:36:25

      Bonjour,

      SELECT couleur, COUNT(*) AS nb
      FROM mes_couleurs
      WHERE id_utilisateur = '...'
      GROUP BY couleur
      ORDER BY nb DESC
      LIMIT 1

      On tri par nombre décroissant et on limite le résultat à un seul enregistrement.

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        2 avril 2020 à 9:19:50

        Bonjour Benzouye, merci pour le retour, effectivement j'ai bien un résultat mais cela m'affiche un chiffre (3 = total des "rouge").

        Est-il possible d'afficher directement "ROUGE"  ?

        Merci



        • Partager sur Facebook
        • Partager sur Twitter
          2 avril 2020 à 10:47:03

          La requête proposée retourne deux colonnes... la couleur (couleur) et le nombre (nb) ... tu peux donc récupérer les deux, pas seulement le nombre ...

          Comment fonctionnes-tu ?

          -
          Edité par Benzouye 2 avril 2020 à 10:48:03

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            2 avril 2020 à 11:40:31

            Voici le code :

            $sql = $bdd->prepare("SELECT couleur, COUNT(*) AS preference 
                            FROM mes_couleurs
                            WHERE id_utilisateur=?
                            GROUP BY couleur
                            ORDER BY preference DESC
                            LIMIT 1");
            
                            $sql->execute([$_SESSION["id_utilisateur"]]);
            
                            
                            
                            while($donnees = $sql->fetch())
                            {
                                
                                echo $donnees["preference"];
                               
                            }
                            ?>


            J'ai surement fait une erreur alors !

            EDIT: Je viens de voir mon erreur:

            $sql = $bdd->prepare("SELECT couleur, COUNT(*) AS preference 
                            FROM mes_couleurs
                            WHERE id_utilisateur=?
                            GROUP BY couleur
                            ORDER BY preference DESC
                            LIMIT 1");
            
                            $sql->execute([$_SESSION["id_utilisateur"]]);
            
                            
                            
                            while($donnees = $sql->fetch())
                            {
                                
                                echo $donnees["couleur"];
                               
                            }
                            ?>

            Merci beaucoup !

            -
            Edité par legrec 2 avril 2020 à 11:45:17

            • Partager sur Facebook
            • Partager sur Twitter

            Afficher une valeur predominante

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown