Jump to content

Private Message system problem


fxuser

Recommended Posts

Hello, i have a private message system nearly done , the only thing that i cant get to work is the Trash messages that a user has... so the user can delete messages either from the inbox/sent/friends box ... then each message row gets update with pm_sender_is_deleted='1' or pm_reciever_is_deleted='1' , depends if the message was deleted in the inbox or sent box respectively.

 

Here is my db structure on the first table:

        pm_id 	int(11)
pm_msg_id 	int(11)
pm_sender_id 	varchar(30)
pm_reciever_id 	varchar(30
pm_sender_isSpam 	tinyint(1)
pm_sender_isRead 	tinyint(1)
pm_sender_is_deleted 	tinyint(1)
pm_sender_is_removed 	tinyint(1)
pm_reciever_isSpam 	tinyint(1)
pm_reciever_isRead 	tinyint(1)
pm_reciever_is_deleted 	tinyint(1)
pm_reciever_is_removed 	tinyint(1)

 

here is the second:

usermessages_id 	int(11)
usermessages_msg_id 	int(11) 
usermessages_sender_id 	varchar(30)
usermessages_reciever_id 	varchar(30)
usermessages_subject 	varchar(300)
usermessages_content 	
usermessages_created_at 	datetime
usermessages_canReply 	tinyint(1)

 

When a user decides to delete a message i update the _is_deleted as i said above successfully.

It seems that i cant get the a correct SQL code to display the mesages that i have deleted...

 

These 3 queries tells how many msgs are in the trash for each user:

		//get messages that i have sent to  myself
                $get_same = mysql_query("SELECT * FROM glr_pm_data WHERE pm_sender_id='$email' && pm_reciever_id='$email' && pm_sender_is_deleted='1' && pm_reciever_is_deleted='1' && pm_sender_is_removed='0' && pm_reciever_is_removed='0'");
	$same = mysql_num_rows($get_same);

	//get messages that i have recieved
	$get_rec = mysql_query("SELECT * FROM glr_pm_data WHERE pm_reciever_id='$email' && pm_reciever_is_deleted='1' && pm_sender_id!='$email' && pm_reciever_is_removed='0'");
	$new = mysql_num_rows($get_rec);

	//get messages that i have sent to others and NOT to myself
	$get_snd = mysql_query("SELECT * FROM glr_pm_data WHERE pm_sender_id='$email' && pm_sender_is_deleted='1' && pm_sender_is_removed='0' && pm_reciever_id!='$email'");

 

a query i have tried to display the trash messages is:

			$query = "SELECT *
					  FROM glr_pm_data INNER JOIN glr_usermessages ON glr_pm_data.pm_msg_id=glr_usermessages.usermessages_msg_id &&
					  (pm_sender_id='$email' && pm_reciever_id='$email'
					  && pm_sender_is_deleted='1' && pm_sender_is_removed='0'
					  && pm_reciever_is_deleted='1' && pm_reciever_is_removed='0')
					  ||
					  (pm_reciever_id='$email' && pm_sender_id!='$email'
					  && pm_reciever_is_deleted='1' && pm_reciever_is_removed='0')
					  ||
					  (pm_sender_id='$email' && pm_reciever_id!='$email'
					  && pm_sender_is_deleted='1' && pm_sender_is_removed='0')
					  ORDER BY glr_pm_data.pm_id DESC $limit";

So if anyone can help me out create a correct query to display the trash messages i would appreciate..

Link to comment
https://forums.phpfreaks.com/topic/227057-private-message-system-problem/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.