IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Liste de plusieurs conversations avec à coté lu ou non lu


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut Liste de plusieurs conversations avec à coté lu ou non lu
    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.

    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
    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.

    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();
     
    ?>
    je vous remercie pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La notation table.colonne c'est uniquement en SQL.
    Le résultat du fetch n'a que le nom de la colonne
    Encore faut-il evidemment que la colonne "date_lecture" soit présente dans ton SELECT

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    oui effectivement j'ai oublié erreur toute bête

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/10/2013, 17h14
  2. Réponses: 6
    Dernier message: 29/02/2012, 08h00
  3. [XL-2010] Lier plusieurs cellules avec liste
    Par redstoff dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/12/2011, 11h46
  4. Syncronisation de plusieurs TCD avec une liste deroulante
    Par mem.xls dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/09/2011, 18h52
  5. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo