조건에 맞게 list.php 쿼리 수정 질문입니다.

조건에 맞게 list.php 쿼리 수정 질문입니다.

QA

조건에 맞게 list.php 쿼리 수정 질문입니다.

본문

list.skin.php 에 셀렉트 태그를 만들고

셀렉트 태그 선택시 submit을 날려서 post값에 따라 쿼리를 변형시켜서 

리스트에 나오는 게시글을 다르게 하려고 합니다.

 

게시판의 wr_5 컬럼 값에 따라서 bbs/list.php 의 168번째 줄에 있는

$sql = " select * from {$write_table} where wr_is_comment = 0 "; 의 내용을 

 

if ($_POST['place']) {

$sql = " select * from {$write_table} where wr_5='서울' and wr_is_comment = 0 ";  

}else {

$sql = " select * from {$write_table} where wr_is_comment = 0 ";  

 

로 변경하였습니다.

쿼리가 잘 적용된듯한데 문제는 페이징 처리가 잘 안됬는지 

페이징이 모든 게시물 기준으로 나오는것 같습니다.

 

페이징에도 영향을 주려면 어딜 고쳐야 하나요?

페이징할때 각번호에 링크 마지막에 $_POST['place'] 변수를 함께 넘기는것까지 수정하려고 합니다.

이 질문에 댓글 쓰기 :

답변 4

아니면 좀 편법으로 $total_count 의 변수를 커리 를 돌려서 넣는 방법도있습니다

이해력이 딸려서 위에 내용을 잘 이해 못했습니다 ^^;;
편법이라고 하시면

게시판 wr_5의 값이 들어있는만큼 새로 쿼리를 날려서 갯수를 알아낸다음
$total_count의 최종 값을 게시물 갯수만큼으로 바꿔치기해서 사용하란 말씀이신가요?

// 분류 선택 또는 검색어가 있다면

$stx = trim($stx);

if ($sca || $stx) {

    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

 

// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)

    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";

    $row = sql_fetch($sql);

    $min_spt = (int)$row['min_wr_num'];

 

    if (!$spt) $spt = $min_spt;

 

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

 

if($sql_apms_where) $sql_search .= $sql_apms_where;

 

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)

    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922

    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";

    $row = sql_fetch($sql);

    $total_count = $row['cnt'];

    /*

    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";

    $result = sql_query($sql);

    $total_count = sql_num_rows($result);

    */

} else {

    $sql_search = "";

    $total_count = $board['bo_count_write'];

}

좀 더 부연 설명을 하자면 DB에 g5_board 의   $total_count = $board['bo_count_write']; 가져와서 페이징을 하는데요 조건문 즉  if ($sca || $stx) {검색 어가 있을 경우  

$sql_search = get_sql_search($sca, $sfl, $stx, $sop); 의 get_sql_search 이용 해서 페이지의 총 개수가 만들어지거든요 이걸 수정 해야합니다 

네 

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

회원로그인

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