Récupérer le résultat d'un COUNT en SQL

Bonjour,

Je bloque sur une chose toute bête, je n'arrive plus à récupérer le résultat d'un COUNT.

Voici mon code :

<?php 
("SELECT COUNT(CA_NoCateg1) AS total FROM article WHERE CA_NoCateg1=$categ"); 
$resu = $row[total]; 
echo $resu; 
?> 


Si quelqu'un pouvait prendre un peu de temps pour résoudre ma problématique. A mon avis il n'y en a pas pour très longtemps.

Merci bien.

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Votre code ne peut pas fonctionner.

    Il faut mettre votre requête SQL dans une variable.
    Il faut vous connecter à votre base de données.
    Ensuite exécuter cette requête puis parcourir le statement pour afficher les résultats.

    Avec MySQL ça pourrait donner ceci :
    <?php
    $sql = "SELECT COUNT(CA_NoCateg1) AS total FROM article WHERE CA_NoCateg1=$categ";
    
    // remplacez locahost par la machine, login par le compte utilsateur, password, par le mot de passe du compte
    $bd = mysql_connect ('localhost','login','password');
    
    $result = mysql_query($sql);
    
    $row = mysql_fetch_row($result);
    
    $resu = $row[total]; 
    echo $resu; et enfin
    
    ?>
    
    1. Merci pour ta réponse rapide.
      Cependant cela ne fonctionne toujours pas.
      Pardonne moi de ne pas l'avoir précisé mais la connexion à la base je l'effectue en amont.

      <?php 
      $compte = mysql_query("SELECT COUNT(CA_NoCateg1) AS total FROM article WHERE CA_NoCateg1=$categ"); 
      $row = mysql_fetch_row($compte); 
      $resu = $row[total]; 
      echo $resu; 
      ?>


      Message d'erreur : "Use of undefined constant total - assumed 'total' in..."

      Voila.
      1. Heu oui, j'ai fait un copier coller de ton code, c'est 'total'

        $resu = $row['total'];
      2. Effectivement il manquait cela, cependant cela ne fonctionne toujours pas.
        Erreur : "Undefined index: total"
    2. $count = mysql_num_rows($variable)

      voila ;)
      1. Merci.

        Il ne me retourne plus d'erreur. Il me retourne 1 a chaque fois.
        Je pense avoir un autre problème maintenant.

        En tout cas merci Titi La Fronde ;)
      2. avec quel code ?

        Celui ci ?

        <?php 
        $compte = mysql_query("SELECT COUNT(CA_NoCateg1) AS total FROM article WHERE CA_NoCateg1=$categ"); 
        $row = mysql_fetch_row($compte); 
        $resu = $row[total]; 
        echo $resu; 
        ?>
        


        Si c'est le cas cela signifie que vous n'avez qu'un seul CA_noCateg1 qui est égal à la valeur $cate
      3. Ce qui n'est pas normal.
        $categ = 1

        Je fais un conte de CA_NoCateg2 (oui j'ai changé) ou CA_NoCateg1=$categ

        Dans ma base de données j'ai 2 CA_NoCateg2 ou CA_NoCateg1 = 1

        Help please :)
      4. avant l'instruction $resu = $row['total'];
        mettez
        print_$($compte);
        print_r($row);

        et dites nous exactement ce qui s'affiche.

        Vous avez essayé votre requête sous PHP MyAdmin avant ?
      5. La requête fonctionne sous PHPMyAdmin, il retourne bien 2.

        print_r me met :
        Resource id #91x1
        Resource id #111x1