Recupere le nombre de reponses dans un forum

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 oct. 2006, 20:59

Oui c'est normal, tu utilises mysql_num_rows(), et ta requête ne renvoie qu'une ligne :roll:

Eléphanteau du PHP | 17 Messages

15 oct. 2006, 21:32

Pourtant quand j'execute ma requete dans SQL j'ai bien que la valeur concernée qui s'affiche

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 oct. 2006, 21:45

Pourtant quand j'execute ma requete dans SQL j'ai bien que la valeur concernée qui s'affiche
Oui, mais tu confonds la valeur renvoyée (qui est le nombre de réponses) et le nombre de lignes renvoyées par ta requête.

Si tu as 4 réponses, ta requête te renvoie 4. Mais ça ne représente qu'une ligne.

Donc toi tu dois récupérer la valeur, et pas le nombre de ligne. Et mysql_num_rows() te renvoie le nombre de lignes.

Tu comprends ton erreur ?

Eléphanteau du PHP | 17 Messages

16 oct. 2006, 19:47

Oui je vois, mais par contre la je vois pas comment faire pour recuperer la valeur, je connais pas la fonction pour recuperer une valeur.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 oct. 2006, 19:55


Eléphanteau du PHP | 17 Messages

16 oct. 2006, 21:14

Merci c'est bon maintenant ça marche.

Voici mon code au final
<?php
//connexion
$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');
$ok=mysql_select_db("sessions",$connexion);
//requête
$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=2 LIMIT 0, 30';
//exécution de la requête
$req=mysql_query($sql);
//recuperation de la valeur
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
echo $data['topic_replies'];
    }
?>
En fait on fait une boucle pour recuperer la valeur a chaque changement et on affiche le resultat avec le nom de la colonne.

Bon et bien maintenant prochaine etape essayer de faire un formulaire pour pouvoir automatiser le lien vers le bon id du topic.

En tout ca merci de ton aide.
Modifié en dernier par pollux007 le 16 oct. 2006, 21:34, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 oct. 2006, 21:28

Vu que tu ne récupères qu'une ligne et que tu sais dès le départ que tu n'en auras qu'une (car tu spécifies un identifiant de sujet, '2'), tu n'as pas besoin de la boucle, ni même du LIMIT :
<?php
//connexion
$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');
$ok=mysql_select_db("sessions",$connexion);
//requête
$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=2';
//exécution de la requête
$req=mysql_query($sql);
//recuperation de la valeur
$data = mysql_fetch_assoc($req);
echo $data['topic_replies'];
?>
N'oublie pas de marquer le topic Résolu une fois que le problème est réglé