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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    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
    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 éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    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
    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 éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    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 confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 101
    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.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

+ 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