정규식 질문 - 현재 페이지 이전의 몇개만 불러오려면 어떻게 해야 하지요? 채택완료
읽어 주셔서 감사합니다.
게시물을 읽을 때, 그 아래쪽에 "그 게시판의 최근게시물" 스킨을 달았습니다.
리스트를 불러올 때 보통은 아래와 같이 하지요?
for ($i=0; $i 그런데 이렇게 하면 최종 게시물을 기준으로 리스트가 표시됩니다. 저는 현재 게시물 이전의 10개만 불러 오고 싶거든요. 예를들자면 총 게시물이 100개라도, 현재 읽고 있는 게시물이 wr_id=90 이라면 90~80번 게시물 제목만 뽑아 오고 싶습니다. 그렇게 한다면 위의 정규식을 어떻게 고치면 좋을까요? 그리고 위와 같이 하려면 현재의 게시물 번호도 알아야 할 거 같은데 "wr_id=번호" 이 부분의 번호를 변수에 넣으려면 정규식을 어떻게 작성해야 하는지요? 좋은 하루 되시길 바랍니다.
답변 2개
"그 게시판의 최근게시물"스킨 << 이게 관리자 게시판 설정에서 전체목록보이기 이거 맞죠??
뷰페이지아래에 리스트 나오는 것이 뷰페이지만 적용되는 소스가 따로 있는게 아니라 list.php를 인클루드 해오는거에요.
배열 $list변수에 들어가는 값의 쿼리문이 select * from {$write_table where wr_is_comment=0 ... {$sql_order} limit {$from_recode, $page_rows 이렇게 되어 있어요. 중간에 ...은 공지사항이 있을시 공지사항을 속아내는 쿼리 중간에 있는것이고요.
이 쿼리문이
$sql = " select * from {$write_table} where wr_is_comment = 0 ";
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
이렇게 완성되는데요. 2~3번째줄이 공지사항이에요. 그러니 저건 신경쓰지마시고 첫번째줄 다음에 조건문을 넣으시면되요.
if($wr_id){
$sql .= " and wr_id <= ".$wr_id;
}
wr_id값이 있다면 sql변수에 wr_id가 현재 wr_id보다 작거나 같은 것들을 추가조건으로 다는거에요.
이렇게하면 뷰페이지 리스트 맨위에 현재 보는글과 다음으로는 현재 글보다 이전에 등록된 글들이 표시되요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
연구해 볼께요. $sql문을 직접 건드려야 하는군요.... 감사합니다~~