Bonsoir,
Voilà, j'ai une messagerie interne sur mon site. J'ai un champ dans ma table qui permet de note si le message est non lu, lu ou répondu.
Jusque la pas de problème, lorsqu'on clique sur un message, il apparaît bien comme lu après.
Par contre, si je reçois un nouveau message, tous les messages lu se remettent non-lu alors que la valeur inscrite dans la table correspond bien pour un message lu.
Le problème doit venir de la mais je me remets entre vos mains:
Voilà, si quelqu'un peut m'explique ce qui ne va pas.
Voilà, j'ai une messagerie interne sur mon site. J'ai un champ dans ma table qui permet de note si le message est non lu, lu ou répondu.
Jusque la pas de problème, lorsqu'on clique sur un message, il apparaît bien comme lu après.
Par contre, si je reçois un nouveau message, tous les messages lu se remettent non-lu alors que la valeur inscrite dans la table correspond bien pour un message lu.
Le problème doit venir de la mais je me remets entre vos mains:
$sql1 = 'SELECT titre, date, membre.pseudo as expediteur, messages.id as id_message, mode FROM messages, membre WHERE id_destinataire="'.$_SESSION['pseudo'].'" AND id_expediteur=membre.pseudo ORDER BY date DESC';
$donnees = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
$cont = mysql_fetch_array($donnees);
$res = $cont;
// si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message
if ($res['mode'] == 0)
{
while ($data = mysql_fetch_array($req)) {
echo "<div id='actualite' style='color:#4C88A0'>";
echo "<p><b>";
echo "Reçu le ";
echo date('d/m/Y à H\hi', $data['date']) , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ] = Non lu</b></p>';
echo "</div>";
}
}
elseif ($res['mode'] == 1)
{
while ($data = mysql_fetch_array($req)) {
echo "<div id='actualite' style='color:#4C88A0'>";
echo "<p>";
echo "Reçu le ";
echo date('d/m/Y à H\hi', $data['date']) , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ] = <b>Lu</b></p>';
echo "</div>";
}
}
else
{
while ($data = mysql_fetch_array($req)) {
echo "<div id='actualite' style='color:#4C88A0'>";
echo "<p>";
echo "Reçu le ";
echo date('d/m/Y à H\hi', $data['date']) , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ] = <b>Répondu</b></p>';
echo "</div>";
mysql_close();
}
}
Voilà, si quelqu'un peut m'explique ce qui ne va pas.