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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.