Messagerie interne en PHP

Résolu
Bonjour,
Je souhaiterai créer une messagerie interne afin que chaque membre puisse envoyer un message à un ou à plusieurs membre à la fois via leurs espace privé.
Sur mon site donc j'ai déjà un espace membre qui fonctionne.
Je verrai donc un formulaire avec la liste de tous les membres où on cocherai une ou plusieurs checkbox pour envoyer le message.
Pour commencer je voudrais créer une nouvelle table dans ma BDD mais je ne sais pas si il faut faire une table ou deux.
Je bloque déjà la-dessus pouvez-vous m'aider s'ils vous plait sur ce projet.
Je vous remercie par avance.
Cordialement

8 réponses

  1. Modérateur
    Bonjour
    Une table users( id, nom, prenom, login etc...)
    Une table messages (id,id_emeteur,id_destinataire,message)
    1. Bonjour
      En fait les deux id des deux tables sont en relation ou pas? je ne comprends pas trop.
      Merci
      1. Modérateur
        id_emeteur et id_destinataire. Sont des id de la table user
    2. alors pas exemple ça donnerai
      table user
      id nom prenom etc...
      1 pierre
      2 jean
      3 jules

      table messages
      id id_emeteur id_destinataire
      1 1 2
      2 1 3
      3 2 1

      mais alors si un emetteur envoie à plusieurs destinataires quel est l'organisation de la table messages excuse moi j'essaie de comprendre.
      1. Contributeur
        moi je ferais une table messages et une table destinataires

        table messages
        id id_emetteur texte
        1 1
        2 1
        3 2

        table destinataires
        id_message id_destinataire
        1 2
        1 3
        2 4
        3 1
        3 4
        1. Bonjour
          Oui merci pour l'organisation des tables, j'y vois un peu mieux maintenant.
          Cordialement
          1. Bonjour,
            J'ai créé mes deux tables pouvez-vous me donner votre avis s'ils vous plait, avant de passer au PHP je voudrais être certains de cette organisation.
            Merci beaucoup


            1. Contributeur
              moi je pense que la clé primaire de la table message doit contenir uniquement idmes.
              je te suggère d'utiliser des noms plus explicites que idpers dans les tables messages et destinataires, par exemple idpers_orig et idpers_dest
            2. Modérateur
              @yg_beBonsoir,

              Et moi je conseille de :
              Dans la table message ... le champ de clé primaire s'appel simplement id.
              Vu que tu es dans la table message... tu te doutes que le champ id correspond à l'id du message ... pas besoin d'alourdir les requête avec des noms à rallonge......

              Idem pour la table user .... pas besoin d'y marquer .. idPers ... id tout court ça suffit largement...

              Et tu peux auddi remplacer les noms idpers_orig et idpers_dest par id_orig et id_dest...

              Ce n'est que mon point de vue ...
              Mais par expérience... je t'assure que c'est mieux.

              Comme on dit en programmation ... plus c'est petit mieux c'est .
              (c'est valable pour le nom des variables, le nom des champs en bdd, le nombre de lignes des fonctions... etc.... )
          2. ha oui j"ai oublié de préciser que j'ai une table des membre avec comme id "idpers"
            1. Bonjour, je vous remercie pour vos précieux conseils que je vais de ce pas mettre en pratique.
              Cordialement.