게시판 페이징 처리 (퇴근할 수 있게 도와주세요 ㅠㅠ)
본문
안녕하세요. php&그누보드 초보입니다.
게시판 페이징을 게시판 페이지가 아니라
메인 페이지에 있는 게시판에 페이징 처리까지 같이 하려고 합니다.
게시판 테이블에 전체 데이터를 뿌리고
get_paging 함수를 이용해서
게시판 하단에 버튼까지 나타냈습니다.
그 다음에 2페이지 버튼을 누르면 다음 페이지로 가면서 다음 내용이 보여야하는데
이 부분을 버튼과 어떻게 연동을 해야할 지 모르겠습니다............
게시판 페이징 코드를 보니
while문을 돌려서 하던데
다른 사람 코드를 봐도 잘 모르겠네요..
꼭 좀 도와주십시오ㅠㅠ
// 페이징 처리
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$sql = "select * from g5_write_estimate order by wr_id desc";
$sql2 = "select bo_count_write from g5_board where bo_table = 'estimate'";
$result = sql_query($sql);
$result2 = sql_fetch($sql2);
$write_pages = 5; // 한 페이지에 보여줄 게시물 갯수(행)
$total_count = $result2['bo_count_write']; // 글 전체 갯수 = 65개
$total_page = ceil($total_count / $write_pages); // 전체 페이지 계산
$from_record = ($page - 1) * $write_pages; // 시작 열을 구함
$url = "./index.php?bo_table=estimate"; // URL
// $add=""
for($i=0; $i < $write_pages; $i++){
//for($i=0; $row1 = sql_fetch_array($result); $i++){
$row2[$i] = sql_fetch_array($result);
$num[$i] = $row2[$i]['wr_id'];
$engine_type[$i] = $row2[$i]['fitordertype'];
$vessel_name[$i] = $row2[$i]['wr_subject'];
$title[$i] = $row2[$i]['wr_content'];
$date[$i] = $row2[$i]['wr_datetime'];
echo "<tr><td><a href='#'>{$num[$i]}</a></td><td><a href='#'>{$engine_type[$i]}</a></td><td><a href='#'>{$vessel_name[$i]}</a></td><td><a href='#'>{$title[$i]}</a></td><td><a href='#'>{$date[$i]}</a></td></tr>";
} // for
답변 2
페이징참고 하는곳이 어드민에 목록보면 나와요 거기 참고하면 될듯한데요
아까는 제가 퇴근길에서 답변 단거라서 아래 보면 대충 이해가 될거에요
여기서 테이블명만 바꾸면 되구요
서치가 있으면 서치 필드명만 바꾸면 되고 없으면 나머지 빼고 디폴트만 하면되요
$sql_common = " from {$g5['auth_table']} a ";
$sql_search = " where (1) ";
if ($stx) {
$sql_search .= " and ( ";
switch ($sfl) {
default :
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
$sql_search .= " ) ";
}
if (!$sst) {
$sst = "a.mb_id, au_menu";
$sod = "";
}
$sql_order = " order by $sst $sod ";
$sql = " select count(*) as cnt
{$sql_common}
{$sql_search}
{$sql_order} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
{$sql_common}
{$sql_search}
{$sql_order}
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
이건 페이징부분이라서 그냥 븥이기만 하면되요
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&page='); ?>