Récupérer la valeur d'un COUNT(*) dans une variable php

Résolu
Bonjour à tous,

Donc voici mon problème, je cherche à récupérer le nombre de ligne dans ma base de donnée avec un count(*). J'ai cherché sur plusieurs site mais aucun n'a répondu à mon problème...

Je sais qu'il faut aliaser le count :

SELECT COUNT(*) AS total FROM forum

Mais après ça, je ne sais pas comment récupérer la valeur et l'afficher sur le site.

Si quelqu'un sait comment récupérer la valeur d'un count(*) dans une variable php, je le remerci de m'en faire part.

Dobby85 :)

8 réponses

  1. Salut,

    Tu peux procéder comme ça :
    <?php 
         // Génération de la requête SQL 
         $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum"; 
         $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(); 
         $count = MYSQL_FETCH_ASSOC($result); 
         // Affichage du résultat 
         ECHO 'Le total est '.$count['total']; 
    ?> 
    


    Voilà !
    0
    1. Bonsoir

      Une petite faute d'inattention...
      $result = MYSQL_QUERY($SELECT_COUNT) OR DIE();
      0
    2. C'est corrigé, merci :)
      0
  2. J'ai copier/coller ton code en faisant attention de mettre les bonnes variables mais je n'ai rien qui s'affiche, il ne lit même pas le echo... En fait, il rentre dans le DIE à la ligne :

    $result = MYSQL_QUERY($SELECT_COUNT) OR DIE();

    Donc du coup il ne lit pas la suite...

    Avez vous une solution ?

    Dobby85 :)
    0
    1. À mon avis, il te manque le code pour te connecter à la base de données.
      Pour vérifier :
      $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(mysql_error()); 


      Si c'est bien ça le problème, je te conseille de suivre des tutoriels (par exemple sur le site du zéro) pour t'initier à l'utilisation de mysql avec PHP, car tu as besoin d'une formation complète, pas d'un simple coup de pouce.
      0
      1. J'ai déjà lu tout le livre du site du zéro sur php et mysql... Et j'arrive à me connecter à la base de donnée, mais je veux juste récupérer une valeur numérique dans une variable...

        Et le :
        OR DIE (mysql_error());
        Ne m'affiche rien, je sais qu'il rentre dedans mais il ne m'affiche rien... :(
        J'ai vu sur d'autres sites qu'il fallait alliaser le count(*) :
        SELECT COUNT(*) AS total FROM forum
        et que le résultat était dans total mais je n'arrive pas à récupérer ce résultat...

        Merci d'avance

        Dobby85:)
        0
        1. Si le OR DIE (mysql_error()); ne t'affiche rien et le echo qui suit non plus, alors c'est que cette partie du code n'est pas exécutée.
          je sais qu'il rentre dedans mais il ne m'affiche rien..
          Comment sais-tu qu'il rentre dedans ? Je veux dire : que fais-tu pour t'en assurer ? Car afficher un résultat d'une requête, COUNT() ou pas COUNT(), c'est quand même du B. A. BA

          Tu peux nous donner ton code (sans mots de passe évidemment) pour nous permettre de comprendre ?
          0
          1. Je sais qu'il rentre dedans car à la place de mettre mysql_error() j'ai écris un mot et il l'a affiché par la suite. C'est justement ce qui m'énerve, je me doute que c'est super simple mais je ne trouve pas !! :(

            Voici mon code :

            <?php
            try
            {
            $bdd = new PDO('mysql:host=sql.franceserv.fr;dbname=mabase', 'identifiant', 'mot_de_passe');
            }
            catch (Exception $e)
            {
            die('Erreur : ' . $e->getMessage());
            }

            // Génération de la requête SQL
            $SELECT_COUNT = $bdd->query("SELECT COUNT(*) AS total FROM forum");
            $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(mysql_error());
            $count = MYSQL_FETCH_ASSOC($result);
            // Affichage du résultat
            echo 'Le total est ' . $count['total'] .'';

            Et ce code ne m'affiche rien, il rentre dans le mysql_error()...

            Merci pour vos réponses !

            Dobby85:)
            0
            1. Tu as certainement mal lu le livre du site du zéro sur php et mysql.
              Ton code mélange deux manières d'accéder à une base de données : PDO et les fonctions "classiques". Si tu as recopié le code de Panoramix sans te rendre compte du problème, c'est que tu n'as jamais dû écrire la moindre ligne de mysql par toi--même. Ce n'est pas un reproche, il faut bien commencer...
              Voici la version PDO que je te conseille d'utiliser. Ta connexion est en PDO, ça tombe bien.
              <?php   
                   // Génération de la requête SQL   
                   $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum";   
                   $result = $bdd->query($SELECT_COUNT)  
                   $count = $result->fetch(PDO::FETCH_ASSOC);   
                   // Affichage du résultat   
                   ECHO 'Le total est '.$count['total'];   
              ?> 
              0
              1. Merci beaucoup, en effet, c'est une chose que je n'ai pas compris, les différentes manières de se connecter... Et je ne comprends toujours pas, mais bon ça marche nickel et je te remercie grandement parce que ça faisait longtemps que je cherchais !!! :)

                Merci beaucoup !

                Dobby85:)
                0