Posez votre question Signaler

Nb d'enregistrement sql [Résolu]

Taboujr 509Messages postés 18 janvier 2002Date d'inscription - Dernière réponse le 2 sept. 2002 à 01:15
Bonjour !!

Est-ce qu'il existe une fonction spécifique pourconnaître le nb d'enregistrement d'une table sql ou est-ce que je suis obligée de faire une requête sans condition et d'utiliser mysql_num_rows ?
Merci !

Tabou Junior
Lire la suite 

Nb d'enregistrement sql »

9 réponses
Réponse
+1
moins plus
select COUNT(*) from TA_TABLE

kinder.surprise,
le maton du matou
Ajouter un commentaire
Réponse
+0
moins plus
Merci... Sans vouloir abuser, j'arrive pas à l'insérer dans ma page en php...
Ci-dessous mon code :

if ($tit['id']<10) {$k='0';} else {$k='';}
$req5=mysql_query("select COUNT(*) from for".$k.$tit['id']);
if (mysql_fetch_row($req5))
{
$nbmsg=mysql_fetch_rows($req5);
echo ' : '.$nbmsg[0].' messages.'.n;
}

La connexion à la bdd est correcte puisque j'ai d'autre requête qui fonctionne dans ma page.
$tit['id'] est un entier compris entre 1 et 26.
La requête porte sur des tables (existantes) nommées for01, for02,... jusqu'à for26.
n est défini de la manière suivante : define("n", chr(10));
Je n'ai pas de messages d'erreur, juste un affichage bizarre du type
: messages.
J'ai fait affiché la requête pour tester et elle me semble correctement écrite.
Si kkun voit où je me suis planté...
Merci d'avance.

Tabou Junior
Ajouter un commentaire
Réponse
+0
moins plus
Euh... sans le s à mysql_fetch_row (désolée, j'ai fait un 'tite faute de frappe)

Tabou Junior
Ajouter un commentaire
Réponse
+0
moins plus
t'es bien sûr de tes quotes autour de id?

parce qu'à part ça je ne vois pas de problème, je viens de refaire exactement le même scénario chez moi et il n'y a pas de blème, à part que j'ai utilisé un entier comme indice du tableau dans un premier temps puis $tit['id'] avec $tit['id'] défini en dur, dans les deux cas ça tourne. T'es sûr que c'est pas un indice?

kinder.surprise,
le maton du matou
Ajouter un commentaire
Réponse
+0
moins plus
s'cuze il y a une autre différence: chez moi j'utilise

while($nbmsg = mysql_fetch_row($req5)){
...
}

avec ton if ça m'envoie bouler, pas de résultat, le vide. et pour cause, t'as regardé ce que te renvoie mysql_fetch_row($req5)? la nature de l'objet, càd Array
par ailleurs, tu as deux mysql_fetch_row si bien que la seconde fois tu extrais la seconde ligne qui n'existe pas.

si tu tiens à faire comme ça alors fais plutôt
if (mysql_num_rows($req5))>0) {
$nbmsg=mysql_fetch_row($req5);
....
}

mais bon je préfère mon while et bon je pense que tu dois pouvoir optimiser ça surtout si tu extrais le contenu de ta table ensuite ou avant

kinder.surprise,
le maton du matou
Ajouter un commentaire
Réponse
+0
moins plus
Ben en fait, $tit est le résultat d'un mysql_fetch_array.
Je vais essayer de récupérer la variable ailleurs.
Merciencore.

Tabou Junior
Ajouter un commentaire
Réponse
+0
moins plus
ou alors
$nbmsg=mysql_fetch_row($req5);
if ($nbmsg) {
....
}

mais cela dit, pourquoi un if?

kinder.surprise,
le maton du matou
Ajouter un commentaire
Réponse
+0
moins plus
Nickel, ça marche !!
Merci beaucoup tout plein !!

Tabou Junior
Ajouter un commentaire
Réponse
+0
moins plus
de rien tout plein beaucoup

kinder.surprise,
le maton du matou
Ajouter un commentaire
Ce document intitulé « Nb d'enregistrement sql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?