Nb d'enregistrement sql

Résolu
Taboujr Messages postés 507 Statut Membre -  
 Utilisateur anonyme -
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

  1. Utilisateur anonyme
     
    select COUNT(*) from TA_TABLE

    kinder.surprise,
    le maton du matou
    1
  2. Taboujr Messages postés 507 Statut Membre 117
     
    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
  3. Taboujr Messages postés 507 Statut Membre 117
     
    Euh... sans le s à mysql_fetch_row (désolée, j'ai fait un 'tite faute de frappe)

    Tabou Junior
    0
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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
  7. Taboujr Messages postés 507 Statut Membre 117
     
    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
  8. Utilisateur anonyme
     
    ou alors
    $nbmsg=mysql_fetch_row($req5);
    if ($nbmsg) {
    ....
    }

    mais cela dit, pourquoi un if?

    kinder.surprise,
    le maton du matou
    0
  9. Taboujr Messages postés 507 Statut Membre 117
     
    Nickel, ça marche !!
    Merci beaucoup tout plein !!

    Tabou Junior
    0
  10. Utilisateur anonyme
     
    de rien tout plein beaucoup

    kinder.surprise,
    le maton du matou
    0