Aller au contenu

Afficher un COUNT


Sujets conseillés

Posté

Bonsoir à tous

Voilà je souhaite afficher un COUNT via ma requete

$compteur= mysql_query ('SELECT COUNT (login) FROM utilisateur');

je voudrais connaitre la syntaxe pour afficher le nombre de login dans ma base

Posté

Bonjour,

mysql_query te renvoie un ressource (lorsqu'il s'agit d'une requête SELECT) que tu peux exploiter afin d'en extraire les résultats de ta requête avec des fonctions comme mysql_result, mysql_fetch_array, mysql_ fetch_ field, etc.

Dans ton cas tu n'a pas besoin d'initialiser un tableau ou de rechercher un champ bien précis vu qu'il n'y a qu'un champ.

Donc tu peux le faire avec mysql_result :

echo mysql_result($compteur,0);

Le "0" correspond à la position de la colonne, la première étant 0 (et non 1).

Posté

Bonjour,

Tu peux utiliser un 'as' :

SELECT COUNT (login) as nbr_login FROM utilisateur

Et tu peux ainsi le récupérer comme un champ 'normal' :)

Portekoi

Posté

TheRec ta solution me mettais une erreur avec le mysql_result

Portekoi je n'ai pas tester te réponse mais merci de ton aide :c_tonguesmile:

voici ma solution trouvé ce matin :

$compteur= mysql_query ("SELECT * FROM utilisateur");
$nb_compteur= mysql_num_rows($compteur);

echo $nb_compteur;

Finalement je suis aller au plus simple ma requete selectionne tout puis le mysql_num_rows m'affiche le nombre de résultat que contient ma requete

merci à tous

Posté

$compteur= mysql_query ("SELECT * FROM utilisateur");
$nb_compteur= mysql_num_rows($compteur);
echo $nb_compteur;

Cela me semble de loin la plus mauvaise solution. Si demain ta table fait des milliers de lignes, c'est beaucoup de temps perdu pour rien.

Posté
TheRec ta solution me mettais une erreur avec le mysql_result

L'idéal serait de nous donner l'erreur en question ;)

Ainsi que ce qu'affiche la ligne, si tu l'exécutes juste après avoir exécuté ta requête grâce à la fonction mysql_query :

echo mysql_errno().": ".mysql_error();

Posté

$compteur= mysql_query ("SELECT COUNT (login) FROM utilisateur");
$nb_compteur= mysql_result($compteur,0);
echo $nb_compteur." inscripts";

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in ...

Voilà l'erreur en question (effectivement avec ma solution à force la requete va mettre de plus en plus de temps)

Posté

D'accord... et la deuxième partie dont je te parle dans mon précédent message ? mysql_error te donnera l'erreur générée par MySQL, car en fait l'erreur que tu viens de nous donner est là parce que la requête SQL est erronée.

Posté

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in ... on line 8
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(login) FROM utilisateur' at line 1

donc la d'après toi ma requête serait fausse?

Posté (modifié)

La requête en elle même marche sous phpmyadmin elle me renvoie 3

Le problème étant que je dois surement oublier un ' ou un " mais je ne vois pas ou?

Modifié par Slimer
Posté

Il y a peu de risque que ta fonction telle qu'elle est écrite ici fonctionne :

To use the name as a function call in an expression, there must be no whitespace between the name and the following ‘(’ parenthesis character.
Source: MySQL 5.0 Reference Manual - 9.2.3 Function Name Parsing and Resolution

Bref, il ne faut pas mettre d'espace entre le nom de ta fonction (COUNT) et la parenthèse (à moins d'avoir activé l'option IGNORE_SPACE sur ton serveur MySQL, mais je t'avoue que j'ai découvert cette fonction en cherchant une solution à ton problème, donc je ne connais pas toutes les implications qu'a cette option).

Posté

Probléme résolu merci TheRec

Php est très succeptible un petit espace et le voici tout désappointé

$compteur=mysql_query("SELECT COUNT(login) FROM utilisateur");
$nb_compteur=mysql_result($compteur,0);
echo $nb_compteur;

résultat affiché : 2

Merci à tous pour m'avoir aidé et solutionné ce problème

Posté

De rien :)

En l'occurrence ce n'est pas PHP, c'est MySQL qui retourne cette erreur, d'où l'usage de la fonction mysql_error pour en connaitre la teneur. PHP te donnait une erreur t'indiquant que la ressource retournée par mysql_query n'était pas exploitable avec mysql_result (ou d'autres fonction du même genre).

P.S. : Au fait, sur le Hub, pour les BB Codes "courts" (moins de 10-15 lignes lignes) tu peux utiliser la balise CODE, pour les codes plus long la balise tu peux utiliser CODEBOX, j'ai édité des message dans ce sens :)

P.S.S. : Idem pour petit-ourson concernant les BB Codes :)

Posté
P.S.S. : Idem pour petit-ourson concernant les BB Codes :)

Ah oui, ce n'est pas faute d'avoir cherché à comprendre pourquoi mon bbcode be marchait pas... mais j'avais abandonné. ;o)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...