1
로그인 한 사용자의 ID에 따라 메시지를 그룹화하는 코드입니다. 코드는 그대로 작동합니다. 하지만 지금은 내가 아는하지 않는 일부 수정MySQL 쿼리, 가장 최근에 그룹별로 정렬 한 다음 조건으로 그룹화
내 쿼리 코드
$query_messages = mysqli_query($link,"SELECT
PreQuery.*,
m2.message,
m2.senderID,
m2.receiverID
from
(SELECT
if(m.senderID < m.receiverID, m.senderID, m.receiverID) as Person1,
if(m.senderID < m.receiverID, m.receiverID, m.senderID) as Person2,
max(m.messageID) as LastMessageIDPerChat,
max(m.date) as LastMessageDate
FROM
messages m
WHERE
'$user' IN (senderID, receiverID)
GROUP BY
Person1,
Person2
ORDER BY
m.date ASC
LIMIT 10) PreQuery
JOIN messages m2
on PreQuery.LastMessageIDPerChat = m2.messageID ORDER BY
date DESC");
$row_messages = mysqli_fetch_assoc($query_messages);
$totalRows_messages = mysqli_num_rows($query_messages);
DB 구조를 구현 할 수 있도록 할
간략한 설명
말할 수 있습니다 * 로그인 한 사용자 A가 데이터베이스에서 $ 사용자
$ 사용자가 삭제하면 하나
receiverID센더 또는 할 수있는 사용자에게 인의 변수 그의 그의 메시지는 에서 보낸 사람 삭제 열 또는 수신자 삭제 열 *
0123에서 업데이트됩니다.는 문제가 있었다 : -
나는 MySQLI 쿼리 코드를 수정하고 쿼리
if $user is the sender then senderdelete should be value 0
및
if $user is the receiver then receiverdelete should be value 0
어떤 도움이를 추가 할 것인가?
미래의 모호성을 방지하기 위해
전체 업데이트 된 코드를 작동하는 것 같군 WHERE 등의 포장 시도 ('$ user'= senderID 및 senderdelete = 0) 또는 ('$ user'= receiverID 및 receiverdelete = 0) – DRapp
@ programm에 변경 사항을 적용합니다. @DRapp. –