내가 작성한 게시물에 달린 최신댓글 10개 추출하기
본문
[작업하고자 하는 내용]
1. 내가 작성한 게시물에 달린 최신댓글 10개 추출하기
[문제점]
1. 댓글 10개를 추출하기 위해서 어떻게 하면 좋을까요? limit 외 if 문으로 해결하면 될 거 같기도 하면서도.. 잘 안되네요^^;;
$g5['board_new_table'] = 'g5_board_new';
$g5['board_table'] = 'g5_board';
$g5['write_prefix'] = 'g5_write_';
$mb_id = "admin";
$board_query = mysql_query("select bo_table, wr_parent from {$g5['board_new_table']} where mb_id = '$mb_id' AND wr_id <> wr_parent group by wr_parent order by bn_datetime desc limit 10");
for($i=0; $i<=$row_board=mysql_fetch_array($board_query); $i++){
$bo_table = $row_board['bo_table']; // 게시판
$wr_id = $row_board['wr_parent']; // 게시물 고유번호
$write_table = $g5['write_prefix'].$bo_table;
$c_query = mysql_query("select wr_id, wr_parent, wr_datetime, wr_content, mb_id from $write_table where wr_parent = '$wr_id' and wr_is_comment = '1' and mb_id NOT IN ('$mb_id') order by wr_datetime desc");
for($k=1; $k<=$row2=mysql_fetch_array($c_query); $k++){
if($row2){
echo "<pre>";
print_r($row2);
echo "</pre>";
}
}
}
답변 3
g5_board_new 게시판에서 추출하시는 것은 문제가 있어 보입니다.
내가쓴글을 직접적으로 알 방법이 없습니다.
또한 관리자 설정에서 주기적으로 삭제 하도록 설정 되어 있다면
더더욱 원하시는 결과를 얻기 어려울겁니다.
내가 작정한 글(
각각의 개별 게시판에 내가 쓴글(mb_id='내아이디' and wr_is_comment='0')중에
댓글이 있는것 중( and wr_comment <> 0)에
마지막 수정일이 최근인(order by wr_last dest) 글
)10씩( limit 0, 10)만 union all로 묶어 최근순으로 정렬해서(order by wr_last dest)
10개의 내가 작정한 글을 가져온 다음( limit 0, 10)
해당 글들을 돌려 그 글번호가 부모인 최신글 1개씩을 가져오시면 될겁니다.
물론 게시판 그룹과 조인한 상태로 게시판 이름도 가져 오셔야 부모글 돌릴때 해당 게시판에서 글
가져오기가 가능하실겁니다.
루프를 줄이시려면 게시판별로 내가쓴 최신글을 모으시는 것도 한 방법일겁니다.
소스 올리신거 보고 이해 하실 수준이라 믿고 답변 드린건데 잘 전달될런지...
또다른 대안을 드리면 댓글 등록시에 메모가 발송되도록 해서 메모 테이블에 해당 댓글의 부모ID를 등록하도록 해서 이 메모테이블로 최신댓글 10개를 가져오는 방법도 있습니다. 현재 그누 홈피에 적용된 알림 기능이죠... 아마도 그리했을거라 추측이만서도...
도움이 되셨다니 다행입니다. 아울러 응용 가능하신 수준이라 다행입니다.