0
기본적으로 내가 할 노력하고있어 것은MySQL은
SELECT comments.id, comments.comment,
replies.id reply_id, replies.comment_id, replies.reply
FROM comments
LEFT JOIN (SELECT id FROM replies LIMIT 3) replies
ON comments.id = replies.comment_id
WHERE comments.user_id = ? ORDER BY comments.id DESC LIMIT 3
$comments = array();
$comm_replies = array();
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
$comm_id = $row['id'];
$comm_user_id = $row['user_id'];
$comm = $row['comment'];
if (empty($row['reply_id'])) {
continue;
}
$comments[$comm_id] = $comm;
$comm_replies[$comm_id][] = $row;
}
foreach ($comments as $comm_id => $comm) {
echo "comment - $comm\n";
if (!isset($comm_replies[$comm_id])) {
continue;
}
$prefix = '---';
foreach ($comm_replies[$comm_id] as $reply_id => $row) {
echo "$prefix $row['reply_id'], $row['reply']\n";
$prefix .= '-';
}
}
그래서 내 쿼리
내 다음 쿼리에 주석 당 5 나의 응답을 제한도 예상대로 작동하지 않는 한계에 가입 왼쪽 내가
1.Question 한
--- 먼저 응답
: 출력에 노력하고있어하면 다음과 같다 --- 두 번째 응답
--- 셋째 응답
2.Question 두
--- 먼저 응답
--- 두 번째 응답
--- 셋째 응답
3.Question 세
--- 먼저 응답
--- 두 번째 응답
--- 셋째 응답
1.Question 한
--- 먼저 응답
--- 두 번째 응답
: 0
대신 내가 뭘 얻을 것은 이것이다 첫 번째 질문과 2 답변. 사전에 어떤 도움
감사합니다.
감사하지만 난 아니에요 당신을 따르십시오 ... 이런 뜻입니까? LEFT JOIN (SELECT * FROM comments.id = replies.comment_id LIMIT 3) 이것은 불행히도 나를 위해 작동하지 않기 때문에 – Benjamin