IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer le nombre d'enregistrements d'un fichier


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut Récupérer le nombre d'enregistrements d'un fichier
    Bonjour,

    ? Dans un code PHP, peut-on connaître le nombre d'enregistrements d'un fichier par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $request = "SELECT MAX(Sequence) FROM Secondaire";
    $result = mysql_query($request, $link);
    Si oui, ? comment recupère-t-on ce nombre.

    D'avance, merci.

    Cordialement.

  2. #2
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    cette solution n'est pas du tout fiable! je ne connais pas le type de ton champ séquence. mais si c'est une clé primaire incrémenté automatiquement, cela te renverra la valeur maximal, donc la dernière enregistré, mais si la valeur 456 (c'est un exemple) est retourné, rien ne dis que la valeur 455 existe

    le mieux serait de compter tout simplement

    SELECT COUNT(sequence) from secondaire => récupéré par mysql_fetch_array()
    select sequence from secondaire => récupéré par mysql_num_rows()
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut
    Merci SphynXz.

    La deuxième formule ne me posait pas de problème.

    Je voulais savoir s'il existait un moyen simple et rapide de connaître le nombre d'enregistrements d'une table.

    'Sequence' est une clé numérique que j'incrémente moi-même.

    Cordialement.

  4. #4
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    et bien si ta requète selectionne toute les lignes de ta tables, la fonction mysql_num_rows te renverra le nombre de ligne
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut
    Voilà ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $request = "SELECT COUNT(Sequence) FROM Primaire";
    $result = mysql_query($request, $link) ;
    $PrimaireEnrgts = mysql_num_rows($result);
    Mais il n'en comptabilise qu'1 alors que j'en ai près de 2000.
    ? Où est mon erreur de syntaxe.

    Cordialement.

  6. #6
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Citation Envoyé par SphynXz Voir le message
    SELECT COUNT(sequence) from secondaire => récupéré par mysql_fetch_array()
    select sequence from secondaire => récupéré par mysql_num_rows()
    Je dois parler chinois

    tu as utlisé SELECT COUNT(sequence) avec msql_num_rows, en fait tu as fait un mix de mes deux réponses
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pour parler peut-être plus clairement que l'illustre SphynXz, la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(Sequence) FROM Primaire
    signifie :
    Compter le nombre de "Sequence" dans la table "Primaire".
    Le résultat est donc un seul enregistrement dont le nom est "COUNT(Sequence)" et dont la valeur est un entier.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    À CinePhil,

    La colonne Sequence étant un INTEGER, le SELECT COUNT(Sequence) ne me compte qu'un enregistrement.

    Pour avoir le compte exact de tous les enregistrements, je suis obligé de faire un SELECT *.

    Cordialement.

  9. #9
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $request = "SELECT COUNT(Sequence) AS nbr FROM Primaire";
    mysql_query($request);
    echo "J'ai ".$request["nbr"]." enregistrements.";
     
    // OU
     
    $r = "SELECT * FROM Primaire";
    $q = mysql_query($r);
    $nbr = mysql_num_rows($q);
     
    echo "J'ai ".$nbr." enregistrements.";

    Un exemple vaut mieux qu'un long discours

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/07/2007, 08h26
  2. récupérer la date d'enregistrement d'un fichier texte
    Par portecd dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/06/2007, 21h11
  3. [Recordset] Récupérer le nombre d'enregistrement
    Par joboon dans le forum Access
    Réponses: 3
    Dernier message: 25/01/2007, 15h42
  4. Réponses: 2
    Dernier message: 26/12/2006, 09h39
  5. Comment récupérer le nombre d'enregistrements effacés ?
    Par Jérôme Lambert dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/10/2006, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo