MySQL: Afficher le nombre d'enregistrements dans une table

MySQL: Afficher le nombre d'enregistrements dans une table - PHP - Programmation

Marsh Posté le 29-10-2006 à 01:14:39    

Bonsoir à tous, j'ai longuement cherché ce dont j'avais besoin, sans succès. Voici ce qu'il me faut:
Afficher le nombre d'enregistrements dans une table, mais associés à un champ, par exemple: J'ai un forum, seuls mes membres peuvent y poster, alors je veux afficher sur leur profil, le nombre de message qu'ils ont posté dans le forum. En sélectionnant le nombre d'enregistrements dans la table des messages (forumtable) contenant leur nickname dans le champs 'auteur'.
 
Me suivez-vous ?
 
Autrement dit:
Si je suis sur le profil de SeozuS: je veux afficher le nombre de message qu'il a posté sur le forum
 
En comptant le nombre de fois que son nickname est présent dans le champ 'auteur'.


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 29-10-2006 à 01:14:39   

Reply

Marsh Posté le 29-10-2006 à 01:35:33    

SELECT COUNT(*) FROM pouet WHERE auteur = 'Seozus'


Nan ? [:dawa]

Reply

Marsh Posté le 29-10-2006 à 01:41:03    

Je ne suis pas un pro en fait, ensuite pour afficher le echo, avec cette valeur, c'Est comment ??


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 29-10-2006 à 01:41:55    

Ca c'est juste la requête SQL, après faut tout le reste genre mysql_query et mysql_fetch_array. T'as déjà vu tout ça, non ?

Reply

Marsh Posté le 29-10-2006 à 01:45:21    

avec un count je ne sais pas trop, je bloque à sa :

Code :
  1. <?
  2. $result2=mysql_query ("SELECT COUNT(*) FROM csforum WHERE nom = '$det'" ) or die ("Requete impossible" );
  3. mysql_fetch_array($result2)


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 29-10-2006 à 01:46:05    

t'as déjà fait ce genre de truc au moins ?

Reply

Marsh Posté le 29-10-2006 à 01:49:39    

oui, mais je sais pas comment afficher mon count, des sélects réguliers, j'en fait souvent!
mais le count devient quoi, je ne savais même pas que c'était possible, c'est pour sa ...
Comment faire mon echo($nbposts) avec le count ... pas la moindre idée ...


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 29-10-2006 à 02:04:53    

C'est bon, j'ai trouvé:

Code :
  1. <?
  2. $requete=mysql_query("SELECT * FROM forum WHERE nom = '$nomdet'" ) or die ("Requete impossible" );
  3. $nbre_msg=mysql_num_rows($requete);
  4. echo($nbre_msg);
  5. ?>


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 29-10-2006 à 09:18:53    

NON MALHEUREUX..... Là tu viens de réaliser le truc le moins optimisé du monde [:dawak]
 
Suivant l'architecture de ton prog, si tu veux juste compter et ne pas utiliser les données, tu as trouvé le moyen le plus inefficient pour compter des lignes.
 
Là tu lui demande de tout sélectionner, donc déjà il va le faire -> perte de temps. Ensuite il met en cache le résultat en mémoire -> conso mémoire pour rien.
 
As-tu au moins essayé avec un mysql_fetch_array des familles ?

$result2=mysql_query ("SELECT COUNT(*) FROM csforum WHERE nom = '$det'" ) or die ("Requete impossible" );
$count = mysql_fetch_array($result2);
 
echo $count[0]


 
Sinon il est possible de donner un joli nom au count grâce à 'AS' :

$result2=mysql_query ("SELECT COUNT(*) AS tagadaPouet FROM csforum WHERE nom = '$det'" ) or die ("Requete impossible" );
$count = mysql_fetch_array($result2);
 
echo $count['tagadaPouet']


 
 
MAINTENANT §§§
 
Si jamais tu utilises quand-même les données, si par exemple t'affiches la liste des machins pour un tel pseudo, alors garde ta solution, vu que tu aura besoin des données :jap:

Reply

Sujets relatifs:

Leave a Replay

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