cmgmyr Posted August 10, 2007 Share Posted August 10, 2007 I have a mail table: CREATE TABLE `mail` ( `mid` int(11) NOT NULL auto_increment, `parentid` int(11) NOT NULL default '0', `u_to` int(11) NOT NULL default '0', `u_from` int(11) NOT NULL default '0', `subject` varchar(100) NOT NULL default '', `message` text NOT NULL, `status` tinyint(1) NOT NULL default '0', `status2` tinyint(1) NOT NULL default '1', `date_sent` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`mid`) ) ENGINE=MyISAM; INSERT INTO `mail` (`mid`, `parentid`, `u_to`, `u_from`, `subject`, `message`, `status`, `status2`, `date_sent`) VALUES (1, 0, 1, 306, 'Hi!', 'This is the first message', 1, 1, '2007-08-10 00:11:44'), (2, 1, 306, 1, '', 'This is the second', 1, 1, '2007-08-10 00:12:06'), (3, 2, 1, 306, '', 'This is the third', 1, 1, '2007-08-10 00:12:35'); status is for the u_to, status2 is for u_from the status codes are 0=unread, 1=read, 2=deleted What I want to do is make a query that if one user deleted a message, the other user can still view it (if they didn't delete it). So in the exampe above both users read the thread. if you change status on mid #1 to '2' user number 1 shouldn't see it. User #306 should still be able to see it. How would I create this query? I have this so far: SELECT * FROM `mail` WHERE (u_to = $userid OR u_from = $userid) AND status != 2 AND parentid = 0 ORDER BY date_sent DESC but this doesn't show the message to the opposite user that deleted it. Please let me know if you need any more info. Thanks! Link to comment https://forums.phpfreaks.com/topic/64200-solved-complex-query-help/ Share on other sites More sharing options...
GingerRobot Posted August 10, 2007 Share Posted August 10, 2007 Unless i missunderstood, dont you need to check that status is not 2 if its the user is who the message was to, and check status2 if the message was from the user? I think this might be what you are after: SELECT * FROM `mail` WHERE ((`u_to` = $userid AND `status`!=2) OR (`u_from` = $userid AND `status2` != 2)) AND `parentid` = 0 ORDER BY `date_sent` DESC Link to comment https://forums.phpfreaks.com/topic/64200-solved-complex-query-help/#findComment-320167 Share on other sites More sharing options...
cmgmyr Posted August 11, 2007 Author Share Posted August 11, 2007 Cool, that did the trick! I think I was reading into it a little more then I should have. Thanks! Link to comment https://forums.phpfreaks.com/topic/64200-solved-complex-query-help/#findComment-320916 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.