Bonjour,
J'ai une page qui affiche une "boîte de réception" d'une messagerie interne.
La requête fonctionne bien mais le problème c'est que je souhaite que dans l'affichage de la liste des conversations, à coté du pseudo il y a lu ou non lu mais j'ai 2 messages d'erreurs à coté de chaque conversations que je ne parviens pas a résoudre.
alors.. d’après ma lecture du message d'erreur, j'utilise m.date_lecture alors que je ne le sélectionne pas plus haut dans la requête (j'ai bien compris?) si oui question : comment dois-je sélectionner le champ (date_lecture) enfin.. quel code plutôt car c'est une requête distinct.Notice: Undefined property: stdClass::$m in C:\wamp\www\pag\liste_messages.php on line 34
Notice: Use of undefined constant date_lecture - assumed 'date_lecture' in C:\wamp\www\pag\liste_messages.php on line 34
je vous remercie pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php // Connexion à la base de données require_once 'inc/db.php'; $user_id = $_SESSION['auth']->id; $reponse = $pdo->query("SELECT DISTINCT IF (m.id_expediteur = $user_id, m.id_destinataire, m.id_expediteur) id, IF (m.id_expediteur = $user_id, u2.username, u1.username) pseudo FROM messages m JOIN users u1 ON m.id_expediteur = u1.id JOIN users u2 ON m.id_destinataire = u2.id WHERE m.id_expediteur = $user_id OR m.id_destinataire = $user_id ORDER BY m.date_lecture IS NULL DESC, m.date_envoi DESC LIMIT 0, 20"); while ($donnees = $reponse->fetch()) { switch ($donnees->m.date_lecture) // LIGNE 34 { case null : $lecture_msg = "non lu"; break; case !null : $lecture_msg = "lu"; break; } ?> <?php echo htmlspecialchars($donnees->pseudo); ?><br> <?php echo "$lecture_msg" ?><br> <a href="profils.php?idmbr=<?php echo $donnees->id ?>">Profil</a><br> <a href="messages.php?idmbr=<?php echo $donnees->id ?>">Consulter la conversation</a><br><br> <?php } $reponse->closeCursor(); ?>
Partager