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

Langage PHP Discussion :

Compter le nombre de personnes [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Bonjour à tous,

    J'ai une liste deroulante sur des formations, en fonction du choix de la formation, un tableau apparaît avec x personnes inscritent à cette formation.
    J'aimerais avoir un compteur qui me donne le nombre de personne, si quelqu'un pouvait m'aider, merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     <?php
    $reqliste = mysql_query("SELECT * FROM membre,form where form.id_form=membre.num_form and form.id_form ='$num_form' order by nom" );
    //je stocke cette requête dans un tableau
    ?>
    <?php
    for ($i = 1 ; $i <=50 ; $i++){
    	$donnees = mysql_fetch_assoc($reqliste);
    ?>
    <table width="100%" align="center">
    	<tr>
    		<td  style="width:270px;"><font color="black" size="2"><strong><?php echo $donnees['intit']; ?></strong></font></td>
    		 <td  style="width:200px;"><font color="black" size="2"><strong><?php echo $donnees['nom']; ?></strong></font></td>
    		 <td  style="width:150px;"><font color="black" size="2"><strong><?php echo $donnees['prenom']; ?></strong></font></td>
    		 <td  style="width:85px;"><font color="black" size="2"><strong><?php echo $donnees['date_']; ?></strong></font></td>
    	</tr>
    </table>

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Déjà, pourquoi ne boucler que 50 fois sur les résultats. Préférer une boucle de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($row = mysql_fetch_array($result)) {
     //Do something
    }
    Deuxième chose, tu peux compter le nombre de résultat avec mysql_num_rows()Et troisième et dernier point (sans aucun doute le plus important), l'extension mysql est dépréciée depuis un certain temps maintenant, il faut privilégier les extensions mysqli (fonctions de type "mysqli_"), ou encore mieux, PDO.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Merci et j'ai changé la boucle mais cela ne marche plus....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $reqliste = mysql_query("SELECT * FROM membre,form where form.id_form=membre.num_form and form.id_form ='$num_form' order by nom" );
    //je stocke cette requête dans un tableau
    ?>
    <?php
    while ($row = mysql_fetch_array($result))
     
     {
     
    ?>
    <table width="100%" align="center">
    	<tr>
    		<td  style="width:270px;"><font color="black" size="2"><strong><?php echo $donnees['intit']; ?></strong></font></td>
    		 <td  style="width:200px;"><font color="black" size="2"><strong><?php echo $donnees['nom']; ?></strong></font></td>
    		 <td  style="width:150px;"><font color="black" size="2"><strong><?php echo $donnees['prenom']; ?></strong></font></td>
    		 <td  style="width:85px;"><font color="black" size="2"><strong><?php echo $donnees['date_']; ?></strong></font></td>
    	</tr>
    </table>
    Comment tu l'insère dans mon code mysql_num_rows() parce que j'ai essayé et j'y arrive pas...

    Et pour mysqli, le site est fait comme ça donc j'essaye de garder la même architecture.

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Regarde attentivement ce que tu as écris, tu vas voir ton erreur est criante..


    Pour mysql_num_rows, la doc est ici

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Ah oui c'est $result qu'il faut que je remplace par $reqliste???
    Encore merci pour la doc.

  6. #6
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Sous plusieurs aspects, il est plus efficace de faire une requête COUNT().
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT COUNT(*) FROM `membres`, `form`
       WHERE `id_form` = `num_form` AND `num_form` = :num_form
    Voir requêtes préparées à propos de la syntaxe :variable.

    Autre solution :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT `id_form`, COUNT(*) AS `personnes`
       FROM `membres`, `form`
       WHERE `id_form` = `num_form`
       GROUP BY `id_form`
    Qui donne le nombre de personnes à chaque formation.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Pour la boucle j'ai ce message d'erreur....

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

  8. #8
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Ah oui c'est $result qu'il faut que je remplace par $reqliste???
    TU penses pas que t'aurais plus vite fait de tester plutôt que de demander ?

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    désolé et j'ai testé mais je sais pas d'où vient le problème....

  10. #10
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Il y a aussi la corrélation row-donnees...

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Oui j'ai fait ceci aussi mais ça marche toujours pas c'est désespérant le php!

  12. #12
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $result = mysql_query("SELECT * FROM membre,form where form.id_form=membre.num_form and form.id_form ='$num_form' order by nom" );
    //je stocke cette requête dans un tableau
    ?>
    <?php
    while ($donnees = mysql_fetch_assoc($result))
     
     {
     
    ?>
    <table width="100%" align="center">
    	<tr>
    		<td  style="width:270px;"><font color="black" size="2"><strong><?php echo $donnees['intit']; ?></strong></font></td>
    		 <td  style="width:200px;"><font color="black" size="2"><strong><?php echo $donnees['nom']; ?></strong></font></td>
    		 <td  style="width:150px;"><font color="black" size="2"><strong><?php echo $donnees['prenom']; ?></strong></font></td>
    		 <td  style="width:85px;"><font color="black" size="2"><strong><?php echo $donnees['date_']; ?></strong></font></td>
    	</tr>
    </table>

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    oui j'avais fais ça mais toujours le même message d'erreur:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

  14. #14
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Où ça et comment cela se fait que ça marché avant?

  15. #15
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Citation Envoyé par Marc31 Voir le message
    Oui j'ai fait ceci aussi mais ça marche toujours pas c'est désespérant le php!
    Si tu n'essayes pas de comprendre les messages d'erreur ce n'est pas seulement PHP mais tous les langages qui vont te paraître désespérants

    Citation Envoyé par Marc31 Voir le message
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    En français :
    Avertissement: mysql_fetch_array(): l'argument fourni n'est pas une ressource "résultat MySQL" valide
    Ce que le monsieur PHP essaye de te dire, c'est que tu as passé un truc qui ne marche pas à la fonction mysql_fetch_array. Et normalement il te donne même un numéro de ligne pour t'aider à trouver.

    Bon. Ceci étant dit, Spartacusply t'a donné une version corrigée entre-temps, j'en conclus que tu ne l'as pas regardée avec assez d'attention.

  16. #16
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Compter le nombre de personnes
    Oui merci ça y est ça marche mais je n'arrive pas à faire le comptage des personnes......

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction pour compter le nombre de personne dans une tranche d'age
    Par djo007 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/02/2012, 00h03
  2. Compter nombres de personnes
    Par Diablo_22 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 04/08/2008, 15h56
  3. compter le nombre de personnes présentes
    Par contremaitre dans le forum Traitement d'images
    Réponses: 91
    Dernier message: 25/04/2008, 08h23
  4. Compter le nombre de personnes
    Par nander dans le forum Langage SQL
    Réponses: 8
    Dernier message: 12/03/2008, 10h56
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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