Problème de concordance avec un champ

Résolu
cs_canibale Messages postés 33 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 28 février 2009 - 28 févr. 2009 à 16:03
cs_canibale Messages postés 33 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 28 février 2009 - 28 févr. 2009 à 18:57
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
, 30


Avec 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 !

1 réponse

cs_canibale Messages postés 33 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 28 février 2009
28 févr. 2009 à 18:57
ok je crois que j'ai trouvé tout seul, en effet le champ de suppression est de type enum, dans la requête il fallait donc mettre le 2 entre simple quotes. Dire que je l'ai essayé par désespoir ...
Merci :)
Rejoignez-nous