Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de count(*)

count() ou count(DISTINCT)

Sujet résolu
    30 mars 2020 à 18:51:03

    Bonjour le forum,

    Pour faire bref, Je voudrait recueillir sur ma BDD, le nombre de parties gagnées par un joueur. Plutôt simple car j'ai déjà fait des requêtes de ce type, mais la je bloque.. Incapable de trouver mon erreur.

    <?php 
    		// Total de points gagnés sur la table jeu_1(niveau débutant)--(fait le total des points)
    			$req = $bd->query('SELECT SUM(points) AS total FROM jeu_1 WHERE id_joueur'.$id_joueur.'');
    		        $data = $req->fetch();
    		        $points = $data['total'];
    		        $req->closeCursor();
    		// Nombre de parties sur la table jeu_1(niveau débutant) par un joueur--(compte le nombre de ligne dans la BDD)
    			$req = $bd->query('SELECT count(*) AS ligne FROM jeu_1 WHERE id_joueur'.$id_joueur.' ');
    			$data = $req->fetch();
    			$nb = $data['ligne'];
    			$req->closeCursor();
    		// Nombre de victoires sur la table jeu_1(niveau débutant) par un joueur--(Compte le total du champ indice dont la valeur est gagne)
    			$req = $bd->query('SELECT count( DISTINCT indice1="gagne") AS victoire FROM jeu_1 WHERE id_joueur'.$id_joueur.' ');
    			$data = $req->fetch();
    			$ouvert = $data['victoire'];
    			echo $victoire;
    		        $req->closeCursor();
    		?>

    Mes deux premières requêtes fonctionnent très bien, seule la troisième me porte souci.

    J'ai essayé plusieurs variantes mais rien n'y fait.

    Merci de m'indiquer mon erreur et bonne journée à vous.

    • Partager sur Facebook
    • Partager sur Twitter
      30 mars 2020 à 19:06:51

      Salut,

      • il faut que tu revois la syntaxe des requêtes SQL avec WHERE
      • il faut que tu active les exceptions si tu travailles avec PDO
      • il faut que tu prépares les requêtes => prepare/bindvalue/execute
      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2020 à 6:50:33

        Merci christouphe, effectivement je travaille avec PDO et se suis désolé d' avoir pris ton temps pour rien car je viens de trouver que j'avais 2 erreurs.

        La 1ere est qu'il m'était inutile de mettre DISTINCT et la seconde, est une erreur de syntaxe, sur ma base j'ai indic1 alors que j'ai écrit indice1.

        Résultat, tout fonctionne à merveille ! Encore désolé et merci. 

        • Partager sur Facebook
        • Partager sur Twitter
          31 mars 2020 à 6:59:05

          christouphe a écrit:

          Salut,

          • il faut que tu revois la syntaxe des requêtes SQL avec WHERE
          • il faut que tu prépares les requêtes => prepare/bindvalue/execute


          • Partager sur Facebook
          • Partager sur Twitter

          Utilisation de count(*)

          × 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