[MySql] Problème de "count(*)" lors de
Sébastien724
-
Yoan Messages postés 11905 Statut Modérateur -
Yoan Messages postés 11905 Statut Modérateur -
Bonjour,
Voilà mon problème c'est que je souhaite récupérer de ma table le nombre d'enregistrements du membre X pour la date Y.
Il me retourne toujours 1 et si je fais : $nb = mysql_num_rows($myreq); et ensuite je fais echo $nb[0]; cela ne m'affiche plus rien du tout.
Avez-vous une idée du problème ?
Merci par avance
$mysql = "SELECT count(*) FROM cf_grattage WHERE id_membre = '".$_SESSION['idmembre']."' AND date = '".$dt."'"; $myreq = mysql_query($mysql); echo mysql_num_rows($myreq);
Voilà mon problème c'est que je souhaite récupérer de ma table le nombre d'enregistrements du membre X pour la date Y.
Il me retourne toujours 1 et si je fais : $nb = mysql_num_rows($myreq); et ensuite je fais echo $nb[0]; cela ne m'affiche plus rien du tout.
Avez-vous une idée du problème ?
Merci par avance
A voir également:
- [MySql] Problème de "count(*)" lors de
- Mysql community download - Télécharger - Bases de données
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Rapid pdf count - Télécharger - PDF
- Select count php - Forum PHP
3 réponses
Yep,
mysql_num_rows($myreq); demande à MySQL de renvoyer le nombre de "lignes" renvoyées par la requête $myreq.
Or la requête $myreq demande à MySQL de compter le nombre d'enregistrements du membre X pour la date Y. Celui-ci répond par exemple 1450. '1450' correspondant à une ligne, mysql_num_rows renvoie donc 1 même s'il y a 1450 enregistrements de X à la date Y, c'est normal.
Ce que tu veux faire c'est :
mysql_num_rows($myreq); demande à MySQL de renvoyer le nombre de "lignes" renvoyées par la requête $myreq.
Or la requête $myreq demande à MySQL de compter le nombre d'enregistrements du membre X pour la date Y. Celui-ci répond par exemple 1450. '1450' correspondant à une ligne, mysql_num_rows renvoie donc 1 même s'il y a 1450 enregistrements de X à la date Y, c'est normal.
Ce que tu veux faire c'est :
$mysql = "SELECT count(*) AS nb_denreg_de_X_a_la_date_Y FROM cf_grattage WHERE id_membre = '".$_SESSION['idmembre']."' AND date = ".$dt."'"; $myreq = mysql_query($mysql); //Exécuter la requête $row=mysql_fetch_array($myrequ); //Mettre le résultat de la requête dans un tableau echo $row['nb_denreg_de_X_a_la_date_Y FROM cf_grattage']; //Afficher la colonne du tableau qui nous intéresse
Euh merci mais j'ai pas tout compris ton code
Moi ce que je cherche à faire comme je l'ai dis c'est récupéré de ma table cf_grattage c'est le nombre de fois qu'apparait le membre X pour la date Y.
Genre c'est pour un ticket à gratter où j'offre 3 parties gratuite par jour et donc à chaque fois que le membre charge la page, ça enregistre dans la table cf_grattage
et au chargement de la page je veux vérifier si le membre à déjà chargé 3 fois le ticket, l'interdire de participer...
Moi ce que je cherche à faire comme je l'ai dis c'est récupéré de ma table cf_grattage c'est le nombre de fois qu'apparait le membre X pour la date Y.
Genre c'est pour un ticket à gratter où j'offre 3 parties gratuite par jour et donc à chaque fois que le membre charge la page, ça enregistre dans la table cf_grattage
et au chargement de la page je veux vérifier si le membre à déjà chargé 3 fois le ticket, l'interdire de participer...
Oui, et bien ça va marcher comme ça.
Ou alors si tu veux tu peux faire ça, ça marche aussi et il y a même moins de trucs à modifier (remplacer le count(*) par *) et ça peut servir si tu as besoin des champs en question :
Ou alors si tu veux tu peux faire ça, ça marche aussi et il y a même moins de trucs à modifier (remplacer le count(*) par *) et ça peut servir si tu as besoin des champs en question :
$mysql = "SELECT * FROM cf_grattage WHERE id_membre = '".$_SESSION['idmembre']."' AND date = '".$dt."'";
$myreq = mysql_query($mysql); //Exécuter la requête $mysql='sélectionner tous les n-uplets où id_membre=X et date=Y'
echo mysql_num_rows($myreq); //Afficher le nombre de n-uplets où id_membre=X et date=Y'
C'est quoi que t'as pas compris ? Le code en lui-même ? Les commentaires ? Ou le problème qu'il y a dans ton code-à-toi ?