Nb d'enregistrement sql

Résolu/Fermé
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
- 1 sept. 2002 à 16:50
 Utilisateur anonyme - 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

9 réponses

Utilisateur anonyme
1 sept. 2002 à 17:00
select COUNT(*) from TA_TABLE

kinder.surprise,
le maton du matou
1
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
117
1 sept. 2002 à 18:19
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
0
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
117
1 sept. 2002 à 18:21
Euh... sans le s à mysql_fetch_row (désolée, j'ai fait un 'tite faute de frappe)

Tabou Junior
0
Utilisateur anonyme
2 sept. 2002 à 00:31
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 sept. 2002 à 01:02
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
0
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
117
2 sept. 2002 à 01:02
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
0
Utilisateur anonyme
2 sept. 2002 à 01:07
ou alors
$nbmsg=mysql_fetch_row($req5);
if ($nbmsg) {
....
}

mais cela dit, pourquoi un if?

kinder.surprise,
le maton du matou
0
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
117
2 sept. 2002 à 01:12
Nickel, ça marche !!
Merci beaucoup tout plein !!

Tabou Junior
0
Utilisateur anonyme
2 sept. 2002 à 01:15
de rien tout plein beaucoup

kinder.surprise,
le maton du matou
0