I need to get the last message between a registered user and any user that he has ever talked to, just like facebook. it will look like facebook.com/messages. Here is what I have done so far
Database
user_table
- cwid
- first_name
- last_name
- user_image_link
message
- id
- cwid1 (sender ID)
- cwid2 (receiver identifier)
- message (message content)
- messagetime (timestamp)
- userread (enum 'Y' 'N') `
Request Registered user has id = 1
SELECT user_table.cwid, message.cwid1, message.cwid2, message.message, message.userread, MAX(message.messagetime), user_table.first_name, user_table.last_name, user_table.user_image_link FROM message INNER JOIN user_table ON message.cwid1 = user_table.cwid WHERE (cwid2="1") GROUP BY cwid1 ORDER BY messagetime DESC
This returns the last messages the user received from all the people who sent him a message. I also need to receive all messages that were sent by this user in a similar way, this can be done using
SELECT user_table.cwid, message.cwid1, message.cwid2, message.message, message.userread, MAX(message.messagetime), user_table.first_name, user_table.last_name, user_table.user_image_link FROM message INNER JOIN user_table ON message.cwid1 = user_table.cwid WHERE (cwid1="1") GROUP BY cwid2 ORDER BY messagetime DESC
I need them both to be mixed with individual users and sorted by message, just like Facebook posts. I am new to MySql, any help is much appreciated. Thanks!