Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1930 connectés 

  FORUM HardWare.fr
  Programmation

  comptage des réponses dans forum

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comptage des réponses dans forum

n°54730
mecano1
Posté le 23-08-2001 à 11:30:53  profilanswer
 

salut à tous, j'ai une coquille dans mon script si vous pouvez m'aider...
j'ai fait un forum, il m'affiche tous les titres de message comme prévu, mais pas le nombre de réponses à ces titres.  
Ma table forum se présente ainsi:  
 
cpt   parent   titre          texte  
48      0      salut          yep,yep  
49      0      bonjour        essai du forum  
50     48      re-salut       reponse à salut  
51     49      re-bonjour     test réponse  
 
explication: le message d'origine est à 0 dans PARENT, la réponse à ce méssage donne un chiffre dans PARENT égale au CPT du méssage d'origine.  
 
questions:  
- ou est l'erreure dans mes lignes?  
- l'option "SELECT count(*)..." fonctionne-t-elle en PHP3 ou seulement en PHP4?  
 
 
<?  
//connection à la base  
include('include_connect.php3');  
 
 
$selec = "SELECT titre, cpt, parent FROM forum WHERE parent='0'";  
$resul_selec = mysql_query($selec) or die(mysql_error());  
 
$id = cpt;  
 
$compar = "SELECT Count(*) AS nombre_rep FROM forum WHERE parent = $id";  
$resul_compar = mysql_query($compar) or die(mysql_error());  
 
 
$query = "SELECT titre FROM forum WHERE parent='0'";  
$resul_query = mysql_query($query) or die(mysql_error());  
 
//Affichage du titre et du nombre de réponses  
 
while (list($titre)= mysql_fetch_row($resul_query))  
{  
echo "  
<BR>titre: $titre  
<BR>nombre réponses: $nombre_rep  
}  
 
mysql_close();  
?>  
 
voila si vous trouves une réponse ca m'aiderai beaucoup passkeu la je sèche...

mood
Publicité
Posté le 23-08-2001 à 11:30:53  profilanswer
 

n°54775
kayasax
Posté le 23-08-2001 à 12:55:40  profilanswer
 

"SELECT Count(*) AS nombre_rep FROM forum WHERE parent = $id";  
 
et avec  = '$id'


---------------
All we need is a soul revolution
n°54905
Sh@rdar
Ex-PhPéteur
Posté le 24-08-2001 à 02:29:33  profilanswer
 

bin tu mets pas '$id' sinon l'id est traitée comme chaine de caractères et c'est un entier.
 
par contre ton code est soit incohérent et plein d'erreurs, soit il en manque la moitié... t'arrives à avoir la liste des messages avec ça ?
 
tu dois faire la query qui donne la ligne du message et pendant que tu boucle pour afficher chaque ligne, tu fais une query qui compte le nombre de message fils (where parent=$id).
 
sinon à première vue et si il manque du code, je dirais : $id = cpt; ==> $id = $cpt; ça ira déjà mieux.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°54930
mecano1
Posté le 24-08-2001 à 09:26:55  profilanswer
 

bon ben j'ai essayé $id = $cpt, mais ca me renvoie une erreure, ensuite j'ai ajouté parent ='$id' comme l'a conseillé kayasax  et la j'ai ça en affichage:
 
titre: bienvenue sur le forum  
nombre réponses: Resource id #31  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: titre  
nombre réponses: Resource id #31  
titre: sup  
 
 
j'ai pour essayé en fait plusieur fois le titre qui s'appelle titre, mais pourquoi il y a ressource id #31?

n°54948
FLY LM
Posté le 24-08-2001 à 10:03:10  profilanswer
 

Essaie un truc du genre :
 
$query = "SELECT * FROM table WHERE parent=0";
$result = mysql_db_query ($dbname,$query) or die ("Erreur de connexion à la base de donnée" );
 
while($row=mysql_fetch_object($result))
{
 $query2 = "SELECT COUNT(cpt) FROM table WHERE parent=$row->cpt";
 $result2 = mysql_db_query ($dbname,$query2) or die ("Erreur de connexion à la base de donnée" );
 $row2=mysql_fetch_row($result2);
 
 echo "Discussion : $row->titre Message : $row->texte Nombre de  réponse : ".$row2[0]." <br>";
 
 $query3 = "SELECT * FROM table WHERE parent=$row->cpt";
 $result3 = mysql_db_query ($dbname,$query3) or die ("Erreur de connexion à la base de donnée" );
 
 while($row3=mysql_fetch_object($result3))
 {  
  echo "    Réponse : $row3->titre Message : $row3->texte<br>";
 }
 echo "<br>----------------------------<br>";
}
 
?>

n°55130
mecano1
Posté le 24-08-2001 à 18:31:55  profilanswer
 

ok je te remercie vraiment, enfin ca fonctionne.
tu peux pas savoir tout ce que j'ai essayé.
@+ et encore merci

n°55449
FLY LM
Posté le 27-08-2001 à 12:06:23  profilanswer
 

Y-a pas de quoi, par contre c'est pas optimisé (nb de requête !!!).

n°55486
FLY LM
Posté le 27-08-2001 à 14:11:39  profilanswer
 

Allez, la même chose avec une seule requête :
 
<?php
 
function nb_reponse($var)
{
 global $i,$parent;
 
 $nb_rep=0;
 $k=0;
 while($k<$i)
 {
  if($parent[$k]==$var)
  {
   $nb_rep++;
  }
  $k++;
 }
 return $nb_rep;
}
 
 
$query = "SELECT * FROM ta_table";
$result = mysql_db_query ($db_name,$query) or die ("Erreur de connexion à la base de donnée" );
 
$i=0;
while($row = mysql_fetch_object($result))
{
  $cpt[$i]=$row->cpt;
  $parent[$i]=$row->parent;
  $titre[$i]=$row->titre;
  $texte[$i]=$row->texte;
  $i++;  
}
 
$j=0;
while($j<$i)
{
 if($parent[$j]==0)
 {
  echo "Discussion : $titre[$j] Message : $texte[$j] Nombre de  réponse : ".nb_reponse($cpt[$j])." <br>";
  $jj=0;
  while($jj<$i)
  {
   if($parent[$jj]==$cpt[$j])
   {
    echo "    Réponse : $titre[$jj] Message : $texte[$jj]<br>";
   }
   $jj++;
  }
  echo "<br>----------------------------<br>";
 }
 $j++;
}
 
?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  comptage des réponses dans forum

 

Sujets relatifs
Help help besoin d’aide pour forumCréation d'un forum URGENT!!!
compter les réponses d'un forum avec mysqlFailles de securite de mon forum
C'est moi ou le forum rame de + en + ?Comment créer un forum dans un site ?
Pourquoi on arrive pas a s'inscrire ce ce Forum ? HELP WEBMASTERSCe bete de forum !!! Il utilise quoi comme base de données ????
[ADOBE ILLUSTRATOR] forum pour les développeurs de plugins 
Plus de sujets relatifs à : comptage des réponses dans forum


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR