Chat

Résolu
kelman -  
 Kelman -
Bonjour,

Je suis en train de créer une application du genre chat.
J'ai deux tables :
>inscription :
id_membre : numérique, auto-incrémentation, clé primaire.
nom_membre : varchar.
password_membre : varchar.
photo_membre : varchar.

>message :
id_message : numérique, auto-incrémentation, clé primaire.
message : varchar.
date_message : timetamp.
id_membre : numérique.

Mon problème :
Comment afficher avec PHP, SQL, ... les messages envoyés à un membre ? De telle sorte que, lorsqu'il est connecté, qu'il puisse lire les messages qu'il a reçu. Et comment envoyé un message spécialement à un membre ?
Merci.

2 réponses

  1. Xav
     
    Pour tes tables Tu devrais utiliser les structures suivantes
    TABLE : MESSAGE
    ID : INT AI PK
    DATE : TIMESTAMP()
    FROM : INT(11)
    TO : INT(11)
    MESSAGE : LONGTEXT
    
    
    TABLE : USERS
    ID : INT AI PK
    PSEUDO : VARCHAR(60)
    MAIL : VARCHAR(255)
    PASSWORD : VARCHAR(255)
    PHOTO : VARCHAR(255)
    


    Dans PHP Tu fait la requête suivante

    $UserId = ID du l'utilisateur
    mysql_query("SELECT * FROM MESAGES WHERE TO ='$UserId'");
    


    Utilise PDO
    0
    1. GBEGNRAN KOFFI MESSAN Messages postés 3 Statut Membre
       
      Bonjour Xav !
      Merci pour votre réponse. Mais, je ne suis pas encore satisfait.
      Quand vous définissez les propriétés des clés primaires, vous avez utilisé : pk. J'ai cherché ce pk partout dans PhpMyAdmin, mais en vain. Et aussi, vous avez utilisé également les champs : TO et FROM. Qui ne seront pas remplis par l'utilisateur. À quoi servent ces champs(TO et FROM) dans la table MESSAGE ? Aidez-moi à trouver une solution à mon problème.
      Merci d'avance.

      --
      0
  2. Utilisateur anonyme
     
    Salut ;-)

    AI = Auto incrémentation
    PK = Primary Key (clé primaire)

    Le champ to tu le récupére avec php

    <?php
      session_start();
      function getUser($login="",$pass=""){
        // tu te connecte avec PDO et tu récupére grace a la requette du style : "SELECT * FROM users WHERE login ='$login' AND pass='$pass';"
        //tu stock ton résultat dans un array genre $maVar[...] ou mieu un objet $maVar->...
        if(count($maVar)!=1){
          //il y a un user
          $_SESSION['user']=$maVar;
          return true;
        }else{
          //il ne trouve pas d'user
          return false;
        }
        
        //Fait tout ca dans une class ca seras plus beau :-) tu récupére tes variable dans la session
        function getMessage($_SESSION['user']->id){
          // tu te connecte avec PDO et tu récupére grace a la requette du style : "SELECT * FROM messages WHERE to ='$userId';"
          return //ta réponse de requette puis tu fait un while
        }
    ?>
    


    <input type="hidden" name="userId" value="<?php echo $_SESSION['user']->id ?>" />
    <input type="hidden" name="userId" value="<?php echo $toId ?>" />
    
    0
    1. Kelman
       
      Bonsoir !
      Merci D'avance. Vôtre a bien marché malgré les difficultés.
      0
      1. Kelman > Kelman
         
        Merci Xav. Ça a bien marché. Bonne soirée
        0