Notification des message non lus avec php

soso -  
 soso -
Bonjour,

je suis entrain de developper un site web avec php et je veus ajouter une notification que j'ai des message non lu dans ma boite mais je ne sais comment je peux le fais,est ce que qlq peut m'aider?????
merci d'avance
trés urgent,

4 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Dans ta table ajoute un champ « lu » du type booléen.
    Ensuite, il te suffit de compter le nombre de messages non-lus :
    SELECT COUNT(*) AS nb FROM messages WHERE destinataire=1 AND lu=0
    0
  2. soso
     
    Rebonjour,
    D'abord merci pour votre réponse,mais ça je l'ai fais, ce que je veut,c'est que une popup s'affiche automatiquement me dit que j'ai des message non lus et se ferme après qlq seconde automatiquement?
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Tu peux ajouter un autre champ du type booléen nommé « alerte ».
    Par défaut, il aura comme valeur 0.
    Quand on charge une page, tu comptes le nombre d'entrée « WHERE alerte=0 ».
    S'il y a plus d'une entrée, tu affiches un message et tu mets à jour la table en mettant tous les « alerte » à 1. Sinon, tu ne fais rien.

    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=ta_base','root','');
    
    $sql = 'SELECT COUNT(*) AS nb FROM messages WHERE destinataire='.$_SESSION['id'].' AND alerte=0';
    $req = $pdo->query($sql);
    $data = $req->fetch();
    $req->closeCursor();
    
    if($data['nb'] > 0) {
        echo 'Il y a un nouveau message !';
    
        $sql = 'UPDATE messages SET alerte=1 WHERE destinataire='.$_SESSION['id'];
        $pdo->exec($sql);
    }
    ?>
    Je n'ai pas testé, mais l'idée est là.
    0