Salut tout le monde,
Je suis actuellement entrain de bosser sur une messagerie interne et il y a un problème qui se pose : comment faire pour supprimer une discussion ?
Parce que si je fais un DELETE ça va supprimer cher la personne qui a envoyé le message et cher la personne qui l'a reçu. Et je ne veux pas ça moi, je veux juste que ça supprime le message uniquement cher l'un des deux.
Peut-être faudrait-il rajouter un champs dans ma table pour mettre le type du message (supprimer,archiver,etc).
Mais je ne vois pas la démarche qu'il faut suivre au niveau du code.
Si vous avez des idées n'hésité pas :)
Merci !
Tu pourrais faire comme suit :
Ajouter deux champs dans la table :
Si l'un des deux "supprime" (cache en faites) tu passe le champs correspondant à 0
UPDATE ` NOM DE TA TABLE ]`
SET is_visible_ EST-CE L'EXPEDITEUR OU LE RECEVEUR ? ] = 0
WHERE id = QUEL MESSAGE ? ]
Et lorsque tu récupérer les messages des deux types de personnes, tu recupere uniquement les messages "visible" pour cette personne
SELECT *
FROM ` NOM DE TA TABLE ]`
WHERE `is_visible_ EST-CE L'EXPEDITEUR OU LE RECEVEUR ? ]` = 1
Cela a deux utilités :
Non seulement ça fait ce que tu souhaites faire =P
Tu as toujours la backup du message, meme si supprimé par les deux
Maintenant si tu souhaites supprimer vraiment le message si par exemple le sender le supprime, tu enlevé le champs "is_visible_sender"
et lorsque celui-ci "supprime", tu supprime vraiment avec un DELETE.
Merci d'avoir répondu.
J'ai en effet trouver réponse à mon problème hier et j'ai fait exactement comme ceci, donc cela confirme mon script!
Merci quand même de ta réponse :D