Additionner les données d'une table

Additionner les données d'une table - SQL/NoSQL - Programmation

Marsh Posté le 20-06-2004 à 23:16:19    

Bonjour je possède un forum phpbb et j'aimerai mettre sur mon site le nombre total de posts de mon forum.
Pour ça il faudrait que j'additionne le nombre de posts de tout els utilisateurs, mais je ne sais pas comment faire :/
 
En faite j'ai fais ce code, mais rien n'est affiché...
 

Citation :

<?php
//connexion au serveur:
$cnx = mysql_connect( "localhost", "", "" ) ;
 
//sélection de la base de données:
$db  = mysql_select_db( "" ) ;
 
//création de la requête SQL:
$sql = "SELECT SUM(user_posts) AS total FROM phpbb_users " ;  
 
//exécution de notre requête SQL:
$requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ) ;
 
//récupération avec mysql_fetch_array(), et affichage de nos résultats :
while( $result = mysql_fetch_array( $requete ) )
{
$post = $result['user_posts'];
 echo( "$post<br>" ) ;
}
?>


 
Je ne vois pas ou est la boulette, encore merci de votre aide.


---------------
Ashraam Darken,
Reply

Marsh Posté le 20-06-2004 à 23:16:19   

Reply

Marsh Posté le 20-06-2004 à 23:33:12    

Pourquoi faire compliqué quand on peut faire simple ?
 
Deux solutions :
 
> Récuperer le code de phpbb qui affiche le nombre total de messages sur la page d'accueil donc on va voir dans index.php
 

Code :
  1. $total_posts = get_db_stat('postcount');
  2. if( $total_posts == 0 )
  3. {
  4. $l_total_post_s = $lang['Posted_articles_zero_total'];
  5. }
  6. else if( $total_posts == 1 )
  7. {
  8. $l_total_post_s = $lang['Posted_article_total'];
  9. }
  10. else
  11. {
  12. $l_total_post_s = $lang['Posted_articles_total'];
  13. }


 
Deuxième solution :
 
Faire une requete qui compte tous les enregistrements de la table phpbb_forums
 

Code :
  1. $sql = "SELECT SUM(forum_posts) AS post_total FROM phpbb_forums";


 
Remarque : cette requete vient du code de phpbb aussi...
 
De plus, ton code est vraiment bizarre ...
 

Code :
  1. /récupération avec mysql_fetch_array(), et affichage de nos résultats :
  2. while( $result = mysql_fetch_array( $requete ) )
  3. {
  4. $post = $result['user_posts'];
  5. echo( "$post<br>" ) ;
  6. }


 
Dans ta requete, tu avais fait "AS total" donc si tu veux récuperer le résultat, cela suffit car tu n'as qu'un enregistrement :
 

Code :
  1. $result = mysql_fetch_assoc ( $requete );
  2. echo $result['total'];


 
Voila, hope this will help :)


Message édité par way66 le 20-06-2004 à 23:34:29
Reply

Marsh Posté le 21-06-2004 à 16:35:15    

euh je suis novice dans PHP/MySQL et la j'ai pas tout saisit :D


---------------
Ashraam Darken,
Reply

Marsh Posté le 21-06-2004 à 16:46:09    

attention, c'est pas COUNT() qu'il faut utiliser là ?
 
id  
1
2
5
 
COUNT (id) donnera 3
SUM(id) donner 8


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 21-06-2004 à 16:50:59    

Bah je sais pas trop :/
Mais je pense qu'il faut utiliser la fonction "COUNT".


---------------
Ashraam Darken,
Reply

Marsh Posté le 21-06-2004 à 16:53:27    

c'est bien ce que je dit...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 22-06-2004 à 13:07:41    

Analyse le code de phpbb, c'est le meilleur moyen d'apprendre !

Reply

Marsh Posté le 22-06-2004 à 13:11:31    

way66 a écrit :

Analyse le code de phpbb, c'est le meilleur moyen d'apprendre !


euh...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed