정규식 질문 - 현재 페이지 이전의 몇개만 불러오려면 어떻게 해야 하지요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
정규식 질문 - 현재 페이지 이전의 몇개만 불러오려면 어떻게 해야 하지요?

QA

정규식 질문 - 현재 페이지 이전의 몇개만 불러오려면 어떻게 해야 하지요?

본문

읽어 주셔서 감사합니다.

게시물을 읽을 때, 그 아래쪽에 "그 게시판의 최근게시물" 스킨을 달았습니다.

 

리스트를 불러올 때 보통은 아래와 같이 하지요?

for ($i=0; $i<count($list); $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보다 작거나 같은 것들을 추가조건으로 다는거에요.


이렇게하면 뷰페이지 리스트 맨위에 현재 보는글과 다음으로는 현재 글보다 이전에 등록된 글들이 표시되요.

select * from {$write_table} where wr_id < {$wr_id} wr_is_comment= 0 order by wr_id desc limit 10

 

그리고 정규식이 아니라 SQL Query라고 합니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 10,635
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT