Messages lus (forum)

Répondre
C_Kirby
le 12/06/2003 à 16:10
C_Kirby
J'ai compris :
En fait, j'ai envoyé un cookie avec 24 réponses.
Maintenant je retourne sur lire_sujet.php (la page d'ou j'envoie mon cookie).
Je vais dans le dossier ou les cookies sont stockés, et la valeur reste toujours 24 !
C_Kirby
C_Kirby
le 12/06/2003 à 17:09
C_Kirby
Est-ce qu'il y a quelqu'un qui peut m'aider, parce que moi j'y comprends plus rien ?
C_Kirby
C_Kirby
le 13/06/2003 à 08:22
C_Kirby
J'ai réussis, et maintenant ca marche bien !
J'ai envoyé un cookie qui s'appelle sujet_{id_du_sujet} et a chaque fois que je vais sur l'index, je le lis, et ca reprends la même chose que ce que j'avais dis avant. Mais si il y a 50 sujets, si je les lis tous, le cookie ne va pas être un peu lourd ?
C_Kirby
C_Kirby
le 25/06/2003 à 11:51
C_Kirby
Quand j'ai fais les permissions des utilisateurs (enfin, quand j'ai essayé) je vous avez dis que mon script de gestions des messages lus ne marchais pas... J'ai enlever les permissions, et le scripts ne marche toujours pas, y'a encore les dossiers qui s'affichent au hasard (et a chaque fois il y en a que deux)
  1. <?
  2. session_start();
  3. include ('config.php');
  4. $sql5 = 'SELECT * FROM forum_forums WHERE id="'.$f.'"';
  5. $req5 = mysql_query($sql5) or die('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error());
  6. $data5 = mysql_fetch_array($req5);
  7. $titre_forum = $data5['nom'];
  8. $id_forum = $data5['id'];
  9. mysql_free_result($req5);
  10. ?>

  11. <html>
  12. <head>
  13. <? echo '<title>'.$titre_forum.'</title>'; ?>
  14. </head>
  15. <? include('top.php'); ?>
  16. <br>
  17. <!— on place un lien permettant d'accéder à la page contenant le formulaire d'insertion d'un nouveau sujet -->
  18. <?
  19. if (session_is_registered('pseudo_base')) {
  20. echo '<center><a href="./newtopic.php?f='.$f.'">Insérer un sujet</a></center>';
  21. }
  22. else {
  23. echo '';
  24. }
  25. ?>
  26. <br>
  27. <br>

  28. <!-- on crée une table html nous permettant de présenter joliment les résultats -->
  29. <center>
  30. <table width="90%" border="1">
  31. <tr>
  32. <td width="2%" align="center" valign="top">&nbsp;</td>
  33. <td width="20%" align="center" valign="top"> Auteur </td>
  34. <td width="50%" align="center" valign="top"> Titre du sujet </td>
  35. <td width="2%" align="center" valign="top">Nb</td>
  36. <td width="26%" align="center" valign="top">Dernière réponse </td>
  37. </tr>
  38. <?
  39. // lancement de la requete
  40. $sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets WHERE correspondance_forum="'.$f.'" ORDER BY date_derniere_reponse DESC';

  41. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  42. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  43. // on va scanner tous les tuples un par un
  44. while ($data = mysql_fetch_array($req)) {
  45. // on récupère les valeurs qui nous intéressent
  46. $id_sujet = $data['id'];
  47. $auteur = $data['auteur'];
  48. $titre = $data['titre'];
  49. $date_derniere_reponse = $data['date_derniere_reponse'];
  50. $permission = $data['permission'];

  51. // on decompose la date
  52. sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s:%2s", &$annee, &$mois, &$jour, &$heure, &$minute, &$seconde);

  53. // lancement de la requete
  54. $sql2 = 'SELECT * FROM forum_reponses WHERE correspondance_sujet = "'.$id_sujet.'"';

  55. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  56. $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
  57. $reponses = mysql_num_rows($req2);

  58. echo '<tr>';
  59. echo '<td width="100" align="center" valign="top">';

  60. $reponses_cookie = $_COOKIE['sujet_'.$id_sujet.''];
  61. echo $reponses_cookie;
  62. if ($reponses <= $reponses_cookie)
  63. {
  64. if ($reponses < 15)
  65. {
  66. echo '<img src="folders/folder.gif">';
  67. }
  68. else
  69. {
  70. echo '<img src="folders/hot_folder.gif">';
  71. }
  72. }
  73. elseif ($reponses > $reponses_cookie)
  74. {
  75. if ($reponses < 15)
  76. {
  77. echo '<img src="folders/red_folder.gif">';
  78. }
  79. else
  80. {
  81. echo '<img src="folders/hot_red_folder.gif">';
  82. }
  83. }


  84. echo '</td><td width="100" align="center" valign="top">';


  85. // on affiche le nom de l'auteur de sujet
  86. echo $auteur;
  87. echo '</td><td width="300" align="center" valign="top">';

  88. // on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
  89. echo '<a href="./viewtopic.php?f='.$id_forum.'&t='.$id_sujet.'">'.$titre.'</a>';

  90. echo '</td><td width="100" align="center" valign="top">';

  91. // on affiche le nombre de réponse du sujet

  92. echo $reponses;

  93. mysql_free_result ($req2);

  94. echo '</td><td width="100" align="center" valign="top">';

  95. // on affiche la date de la dernière réponse de ce sujet
  96. echo $jour.'-'.$mois.'-'.$annee.' '.$heure.':'.$minute;
  97. echo '</td></tr>';
  98. }
  99. // on libère l'espace mémoire alloué pour cette requête
  100. mysql_free_result ($req);
  101. // on ferme la connection à la base de données.
  102. mysql_close ();
  103. ?>
  104. <!—on ferme notre table html -->
  105. </table>
  106. </center>

  107. </body>
  108. </html>

Merci
C_Kirby
C_Kirby
le 25/06/2003 à 11:53
C_Kirby
Et le
  1. echo $reponses_cookie;
c'était pour tester, et ca ne s'affiche que lorsque les dossiers sont jaunes...
C_Kirby
C_Kirby
le 25/06/2003 à 14:29
C_Kirby
  1. setcookie("sujet_$t", "$nbreponses", time()+365*24*3600,"/");
C_Kirby
LA GLOBULE
le 25/06/2003 à 14:56
LA GLOBULE
Nan, mais dis le moi en francais, y a quoi dans le cookie ?
Et comment tu l'utilises ?
XTremTourist
le 25/06/2003 à 17:38
XTremTourist
moi g pas envi de chercher pour la gestion des msg lu j la ferai petre apret les vacance smiley
C_Kirby
le 25/06/2003 à 18:43
C_Kirby
Le nom du cookie pour (par exemple) le sujet 13 (l'id) :
sujet_13
La valeur du cookie pour (par exemple) le sujet 13 (l'id) :
le nombre de messages dans le topic

Et comment je l'utilise ? C'est dans le wall, pour la gestion des messages lus
C_Kirby
Répondre
LoadingChargement en cours