par
Marilyne » 10 août 2009, 18:37
Bonjour à tous !
Je suis en train de faire mon propre forum et je galère un peu avec le système de message lu / non lu. J'arrive à marquer les nouveaux messages dans les discussions, mais je n'arrive pas à le faire dans les sous forums, genre il y a au moins un message non lu dans le sous forum X.
Je veux arriver à faire une boucle et voir si chaque variable forum_topic_view.id_post existe dans ma table forum_topics.topic_last_post, si y'en a au moins une différente alors je marque comme non lu. Le problème c'est que je n'arrive pas à faire cette comparaison. Bon je vous laisse le code peut être que ce sera plus clair ... Merci par avance de votre aide.
while($row=mysql_fetch_array($select))
{
$id_topic=$row['id'];
$forum=$row['nom'];
$description=$row['description'];
$select4=mysql_query("SELECT forum_topics.topic_last_post, forum_topics.id, forum_topic_view.id AS idview, forum_topic_view.id_topic, forum_topic_view.id_membre, forum_topic_view.id_forum, forum_topic_view.id_post FROM forum_topics INNER JOIN forum_topic_view ON forum_topics.id = forum_topic_view.id_topic WHERE forum_topic_view.id_forum='$id_topic' AND forum_topic_view.id_membre='$id_m'") or die (mysql_error());
$nb_view=mysql_num_rows($select4);
$select2=mysql_query("SELECT * FROM forum_topics WHERE id_forum = $id_topic") or die (mysql_error());
$nb_total=mysql_num_rows($select2);
if($nb_total==0)
{
$ico_mess = 'forum_old.gif';
}
elseif($nb_view > 0)
{
while($row4=mysql_fetch_array($select4))
{
$id_post=$row4['id_post'];
$v="SELECT * FROM forum_topics WHERE topic_last_post LIKE '$id_post' AND id_forum='$id_topic'";
$query = mysql_query( $v );
$result = mysql_num_rows( $query );
if( mysql_num_rows( $query ) > 0)
{
$ico_mess = 'forum_new.gif';
}
else
{
$ico_mess = 'forum_old.gif';
}
}
}
else //S'il n'a pas lu le topic
{
$ico_mess = 'forum_new.gif';
}
Bonjour à tous !
Je suis en train de faire mon propre forum et je galère un peu avec le système de message lu / non lu. J'arrive à marquer les nouveaux messages dans les discussions, mais je n'arrive pas à le faire dans les sous forums, genre il y a au moins un message non lu dans le sous forum X.
Je veux arriver à faire une boucle et voir si chaque variable forum_topic_view.id_post existe dans ma table forum_topics.topic_last_post, si y'en a au moins une différente alors je marque comme non lu. Le problème c'est que je n'arrive pas à faire cette comparaison. Bon je vous laisse le code peut être que ce sera plus clair ... Merci par avance de votre aide.
[php]while($row=mysql_fetch_array($select))
{
$id_topic=$row['id'];
$forum=$row['nom'];
$description=$row['description'];
$select4=mysql_query("SELECT forum_topics.topic_last_post, forum_topics.id, forum_topic_view.id AS idview, forum_topic_view.id_topic, forum_topic_view.id_membre, forum_topic_view.id_forum, forum_topic_view.id_post FROM forum_topics INNER JOIN forum_topic_view ON forum_topics.id = forum_topic_view.id_topic WHERE forum_topic_view.id_forum='$id_topic' AND forum_topic_view.id_membre='$id_m'") or die (mysql_error());
$nb_view=mysql_num_rows($select4);
$select2=mysql_query("SELECT * FROM forum_topics WHERE id_forum = $id_topic") or die (mysql_error());
$nb_total=mysql_num_rows($select2);
if($nb_total==0)
{
$ico_mess = 'forum_old.gif';
}
elseif($nb_view > 0)
{
while($row4=mysql_fetch_array($select4))
{
$id_post=$row4['id_post'];
$v="SELECT * FROM forum_topics WHERE topic_last_post LIKE '$id_post' AND id_forum='$id_topic'";
$query = mysql_query( $v );
$result = mysql_num_rows( $query );
if( mysql_num_rows( $query ) > 0)
{
$ico_mess = 'forum_new.gif';
}
else
{
$ico_mess = 'forum_old.gif';
}
}
}
else //S'il n'a pas lu le topic
{
$ico_mess = 'forum_new.gif';
}
[/php]