Système lu / non lu (pour forum) - PHP  

Forum > PHP > Système lu / non lu (pour forum)

Système lu / non lu (pour forum)

Membre
# Le 08/04/2012 à 13h07
Bonjour, je suis en pleine création d'un site internet, il est plutôt bien avancé, mais j'ai un petit souci avec le système lu non lu de la partie forum.
Je tien à préciser que je me suis aidé du site du zero : ici.

je vous présente le code :

  1. //On prend tout ce qu'on a sur les Annonces du forum
  2.  
  3. $add1='';
  4. $add2='';
  5. if ($id!=0) //on est connecté
  6. {
  7. //Premièrement, sélection des champs
  8. $add1 = 'tv_id, tv_post_id, tv_poste';
  9. //Deuxièmement, jointure
  10. $add2 = 'LEFT JOIN forum_topic_view
  11. ON forum_topic.topic_id = forum_topic_view.tv_topic_id AND forum_topic_view.tv_id = :id';
  12. }
  13.  
  14. $query=$db->prepare('SELECT forum_topic.topic_id, topic_titre, topic_createur, topic_vu, topic_post, topic_time, topic_last_post, topic_locked,
  15. Mb.membre_pseudo AS membre_pseudo_createur, post_createur, post_time, Ma.membre_pseudo AS membre_pseudo_last_posteur,
  16. '.$add1.' post_id FROM forum_topic
  17. LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur
  18. LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id
  19. LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur
  20. '.$add2.'
  21. WHERE topic_genre = "Annonce" AND forum_topic.forum_id = :forum
  22. ORDER BY topic_last_post DESC');
  23. $query->bindValue(':forum',$forum,PDO::PARAM_INT);
  24. if ($id!=0) $query->bindValue(':id',$id,PDO::PARAM_INT);
  25. $query->execute();
  26.  
  27. //Gestion de l'image à afficher
  28. if (!empty($id)) // Si le membre est connecté
  29. if ($data['tv_id'] == $id)
  30. {
  31. $ico_mess = 'old.png';
  32. }
  33. else
  34. {
  35. $ico_mess = 'news.png'; //S'il y a un nouveau message
  36. }
  37.  
  38.  
  39. else
  40. {
  41. $ico_mess = 'old.png';
  42. }


D'après mes test la partie if ($data['tv_id'] ne prend pas la bonne valeur.
Dans MySQL elle est égale à 1 et en réalité elle prend la valeur de null.

Voilà je désespère un peu depuis le temps que je me prend la tête.
Bonne journée et merci d'avoir pris le temps de lire mon sujet.
avatar de Tony_
Administrateur
# Le 01/06/2012 à 20h02
Bonjour.
Pouvez-vous dire ce qui ne fonctionne pas. Est-ce un problème avec la jointure de la requête SQL ? Avez-vous essayé de contacter directement le rédacteur du tutoriel ?
Cordialement.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.