본문 바로가기
PHP

[PHP]페이징 할 때 필요한 것 정리

by 개발하자구 2023. 3. 14.

$page_rows : 한 페이지 당 데이터 개수 (DB sql limit구문에도 사용됨)

 

$total_page : 전체 페이지 수 = 전체 데이터 / 한 페이지당 데이터 개수, ceil : 올림값

 

$page : 현재 페이지

 

$from_record : 페이지를 열 때 시작 번호, 시작 열을 구함, DB sql limit구문에도 사용됨 = (현재 페이지 번호 - 1) * 페이지 당 보여질 데이터 수

 

get_paging(5, $page, $total_page, $href_list); -> 게시판 화면에 띄우는 그누보드 함수 : 한 페이지당 보여줄 행의 수, 현재페이지, 총페이지수, URL(현재페이지)

 

 

// 페이징
$sql = "select count(*) as cnt from zcompany ;";
$row = sql_fetch($sql);   //mysqli_num_rows($sql) 방법도 있음
$total_count = $row['cnt'];


/* paging : 한 페이지 당 데이터 개수 */
$page_rows = 5;

/* paging : 전체 페이지 수 = 전체 데이터 / 한 페이지당 데이터 개수, ceil : 올림값, floor : 내림값, round : 반올림 */
$total_page = ceil($total_count / $page_rows);
//echo "전체 페이지 수 : ".$total_page;

/* paging : 현재 페이지가 0개인 경우 */
if($page < 1) $page = 1;

/* paging : 시작 번호 (시작 열을 구함) = (현재 페이지 번호 - 1) * 페이지 당 보여질 데이터 수 */
$from_record = ($page - 1) * $page_rows;

//리스트 불러오기
$sql = "select id, cname, ceo, address, tel, tmoney from zcompany order by cname limit {$from_record}, {$page_rows}";
$result = sql_query($sql);
$i=0;

// 게시판 화면에 띄우는 그누보드 함수 : 한 페이지당 보여줄 행의 수, 현재페이지, 총페이지수, URL(현재페이지)
$write_pages = get_paging(5, $page, $total_page, $_SERVER['SCRIPT_NAME'].'?');

?>


<-- 화면에 쏴주는 구문-->
<?php echo $write_pages?>

 

참조)

lib폴더의 common.lib.php

bbs폴더의 list.php