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 :

Faire des pourcentages avec mysql et php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut Faire des pourcentages avec mysql et php
    Voila je voudrai faire des statistique et afficher le pourcentage mais y'a probleme car iil m'affiche le nombre total de message pour chaque salon et ne calcule pas le pourcentage il affiche que des 0% voici le scripte:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    $select = "select COUNT(*) as nombre_message,d.nom_canal from chat_recep_msg a,chat_users b,short_numbers c,chat_forums d where a.date BETWEEN '$datedebut1' and '$datefin1'and a.num_expediteur=b.num_tel and a.num_dest=c.numero and b.id_canal=d.idcanal GROUP BY nom_canal";
    $result = mysql_query($select)or die('Erreur SQL !<br>'.$select.'<br>'.mysql_error());
    $total = mysql_num_rows($result);
    $nbtotal = $row["nombre_message"];
          if ($total) { 
     echo ' <center><b><font color="#3300CC"> Les stats Du </font>';
     echo $datedebut1;
     echo ' <font color="#3300CC">Au</font> ';
     echo $datefin1;
     echo ' <font color="#3300CC">concernant les messages par salon </font> ';
     echo '</b></center><br>';
    //tableau
           echo '<TABLE align="center">
           <TR style="background-color:#6666CC;">
           <TH><b><u>Nombre message</u></b></TH>
           <TH><b><u>Salons</u></b></TH>
           <TH><b><u>Pourcentage</u></b><
    /TH>';
     
     
           echo '</TR>';
           }
           $i = 1;
           while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
           $pourcentage =substr((($row["nombre_message"]/$nbtotal)*100),
    0,4);
     
           echo '<TR style="background-color:#DADEFF;">';
     
     
           echo '
     
     
           <TD>'.$row["nombre_message"].'</TD>
           <TD>'.$row["nom_canal"].'</TD>
           <TD>'.round($pourcentage).'%<TD>';
     
           $i++;
           echo '</TR>';
           } 
           echo '</TABLE>';
    }
    Si vous pouvez m'aider

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $nbtotal ne vaut rien.
    Pour avoir le total, il faut soit faire une requête expres, soit additionner tes resultats avec PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Merci de votre réponse ,Svp pouvez vous etre plus claire ?

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Quand je fais ceci:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    $nombre = mysql_query("select COUNT(*) as nombre_message,d.nom_canal from chat_recep_msg a,chat_users b,short_numbers c,chat_forums d where a.date BETWEEN '2008-03-01' and '2010-05-14'and a.num_expediteur=b.num_tel and a.num_dest=c.numero and b.id_canal=d.idcanal  GROUP BY nom_canal");
    $total = mysql_query ("SELECT COUNT(*) FROM `chat_recep_msg`");
    $row = mysql_num_rows($nombre);
    $nombre = $row["nombre_message"];
    if ($nombre) {		
     //echo $test;
    //tableau
                echo '<TABLE align="center">
                <TR style="background-color:#6666CC;">
                <TH><b><u>Nombre message</u></b></TH>
                <TH><b><u>Salons</u></b></TH>
    			<TH><b><u>Pourcentage</u></b></TH>';
     
     
              echo '</TR>';
           }
    while ($row = mysql_fetch_array($nombre, MYSQL_ASSOC)) {
                   // $pourcentage =substr((($row["nombre_message"]/$totals)*100),0,4);
     
                        echo '<TR  style="background-color:#DADEFF;">';
     
     
                    echo '
     
     
                    <TD>'.$row["nombre_message"].'</TD>
                    <TD>'.$row["nom_canal"].'</TD>
                    <TD>'.calcul_pourcentage(mysql_result($nombre,0),mysql_result($total,0)).'%<TD>';
     
                    //$i++;?>
                 </TR>
    			 <?php
               }
    il me renvoie juste une seule ligne alors qu'il y'a 3 salons

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $row = mysql_fetch_assoc($nombre);
    $nombre = $row["nombre_message"];
    retire ces deux lignes qui ne riment a rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    J'ai commenter les 2 lignes comme recommandé et le résultat est un tableau avec plusieurs lignes avec le méme pourcentage (56%) pour toutes les lignes

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

Discussions similaires

  1. Créer des documents XML avec MySQL et PHP
    Par kati1985 dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2009, 16h43
  2. Entrer automatiquement des données Avec MySQL, JS et php
    Par HWICE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/04/2008, 16h40
  3. [MySQL] affichage des données dans un tableau avec mysql et php
    Par fofina dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/10/2007, 14h00
  4. faire des liens avec le resultat de ma requete mysql
    Par rane dans le forum Requêtes
    Réponses: 12
    Dernier message: 10/03/2006, 17h29
  5. faire des graphiques avec Perl
    Par And_the_problem_is dans le forum Modules
    Réponses: 2
    Dernier message: 16/07/2003, 16h08

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