댓글을 추천 순으로 정렬하는 법
본문
댓글에 추천 비추천 기능을 넣었고 아래 코드를 활용하여 추천순으로 정렬되게 했습니다.
$sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 and wr_comment_reply = '' order by wr_good desc ";
위 코드대로 하니 댓글에 달린 답변을 안 불러옵니다.
그래서
wr_comment_reply = ''
아래 코드대로 하니 댓글과 댓글에 달린 답변이 뒤죽박죽 다 섞여서 오직 추천순대로만 나타납니다.
$sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_good desc ";
그래서
1. 일단 wr_comment_reply = ''를 wr_good 내림차순으로 정렬
2. wr_comment_reply != ''인 것을 불러와서 위 1번 정렬된 댓글에 wr_comment 값이 같은 것들과 그룹 지음
위 1~2번 대로 하면 댓글 추천 순이 제대로 될 거 같은데 어떻게 쿼리를 짜야할까요?ㅠㅠ
아니면 더 좋은 방법이 있을까요?ㅜㅜ
!-->!-->!-->답변 2
댓글에 1차 답글, 2차...계속 답글이 붙으면 일번쿼리나 서브쿼리로 하기는 어려울 것 같군요
wr_comment_reply = ''를 wr_good 내림차순으로 리스트를 만든 다음
리스트에서 동일한 wr_comment 이고 wr_comment_reply 문자 갯수가 1개인 것을 order by wr_good 하는 쿼리를 하고
이렇게 나온 리스트에서 다시 동일한 wr_comment 이고 wr_comment_reply 문자 갯수가 2개인 것을
order by wr_good 하는 쿼리....~~
이렇게 해서 쿼리해서 값이 없을때 까지 반복하는 코드를 만들어야 할 것 같군요
최신댓글 을 가져오기 위해서 이게 쉽지가 않을거에요
먼저 latest skin 를 수정을 해줘야하는데 이는 공용으로 쓰는 라이브러리함수를 수정을 해줘야
해결이 될거에요. 또한 이를 조건에 따라서 호출방식이 달라질수도있구요.
하여
해당 최신글 latest 스킨을 제작의뢰 하셔야 될것같습니다.