나는 두 명의 사용자간에 각 대화의 최종 결과를 얻기 위해 노력하고 있습니다. 나는pm 메시지의 최대 결과 얻기
[php Mysql Grouping and Ordering user messages together
및
내 데이터베이스 구조 아래의 고급 쿼리로 온라인과 같은 몇 가지 예를 살펴 보았다. 대화 내용은 모두 message_creator
과 message_target
의 ID를 하나의 채팅으로 연결하는 것에 의존합니다.
message_id,
message_content,
message_target,
message_creator,
message_status,
message_time
나는 사용자가 마지막 메시지를 읽기가 여전히 대화로 마지막 메시지를 보여줍니다 그래서 만약 또한 쿼리에서 1과 2를 선택
message_status
이 필요합니다.
여기에 현재있는 쿼리가 있습니다. 두 사용자 간의 매우 마지막 메시지를 얻고 싶다면
$callmessage=" SELECT message_id,MAX(message_content) AS message_content ,message_target,message_status,message_creator,message_throughurl,MAX(message_time) AS message_time FROM messages WHERE message_target='$user1_id' OR message_creator='$user1_id' AND message_status=1 OR message_status=2
Group By
(if(message_creator > message_target, message_creator,message_target))
,(if(message_creator > message_target, message_target,message_creator))
ORDER BY message_id DESC";
저는 user2_id를 사용하지 않습니다. 또한 메시지로 그룹을 제거했는데 이것이 내 문제의 근원입니다. 각 그룹의 마지막 message_id를 가져와야합니다. – dave