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

[Résolu/Fermé]
Signaler
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014
-
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014
-
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

Messages postés
2655
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
28 décembre 2016
1 068
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à !
Bonsoir

Une petite faute d'inattention...
$result = MYSQL_QUERY($SELECT_COUNT) OR DIE();
Messages postés
2655
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
28 décembre 2016
1 068
C'est corrigé, merci :)
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014

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 :)

À 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.
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014

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:)

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 ?
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014

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:)
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'];   
?> 
Messages postés
16
Date d'inscription
jeudi 31 janvier 2013
Statut
Membre
Dernière intervention
16 juin 2014

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:)