Bonjour, je fais appel à vous car je code actuellement un système de messages privés.
cependant j'ai un problème, je teste si le message à été supprimé : si la valeur est à 1 : il a été supprimé par l'expéditeur, si elle est à 2 : supprimé par le destinataire. voici ma requête (le but étant de faire une liste des MPs, ici dans la boite de réception, donc la valeur du champ doit être différent de 2, vu que ceux qui sont sur 2 sont censés être effacés.)
SELECT`mp`.`id`AS`Id`,
`mp`.`sujet`AS`Sujet`,
`mp`.`expediteur`AS`Expediteur`,
`mp`.`destinataire`AS`Destinataire`,
`mp`.`timestamp`AS`Date`,
`mp`.`vu`AS`Vu`,
`mp`.`efface`,
`membres`.`Pseudo`AS`Pseudo`
FROM`mp`
LEFTJOIN`membres`ON`membres`.`id`=`mp`.`expediteur`
WHERE`mp`.`destinataire`=55 (55 = l'ID de ma session donc de mon utilisateur)
AND`mp`.`efface`!=2
ORDERBY`mp`.`timestamp`DESC
LIMIT0, 30Avec cette requete j'obtiens
| Id | Sujet | Expediteur | Destinataire | Date | Vu | efface | Pseudo |
|---|
| 7 | lolmdr | 49 | 55 | 1235822541 | 0 | 0 | User49 |
| 6 | Blah | 55 | 55 | 1235785580 | 0 | 0 | User55 |
On pourrait croire que ça marche sauf que non... en effet il y a des champs avec efface = 1 (c'est bien différent de 2) et destinataire = 55 qui ne s'affichent pas !