소스 파일 : /ex_run/page_testing.php (2019-09-17)     소스 설명 : (구현 항목) 페이지 나누기 (db 쿼리 출력 결과가 많을 때, 페이지 단위로 구분 출력)
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
<?php // (2019.9.15, 차재복, Cha Jae Bok, cjbword@gmailcom)

# db 설정 (정보통신기술용어 db)
	include_once "../base_utils/db_conn.php";
		// 이로부터 db 접속 성공의 결과로써, $dbi 변수가 넘어옴

# 페이지 구분 관련 함수 라이브러리 호출
	include "../ex_run/paging_utils.php";

# 파라미터 전달
	$cur_page = $_GET['p'];	// 요청 페이지 번호
		if ( !empty($cur_page) and !is_numeric($cur_page) ) exit;
        if ( empty($cur_page) ) $cur_page = 1;
//    $cur_script ;

# 페이지 관련 상태 값 설정 및 요약
	// 페이지 당 출력 레코드 수
	$page_records = 10;	

    // 전체 레코드 수 계산
	$query = "select korean from cjb_dict where korean like '자%' order by korean";
    $total_records = total_records ($query, $dbi);

    // 페이지 정보 함수 호출을 위한 매개변수 배열화
    $page_info_vars = array (
        'sh' => "자",  // 검색어
        'total_records' => $total_records,  // 전체 레코드 수
        'cur_page' => $cur_page,  // 현재 페이지 번호
        'page_records' => $page_records   // 페이지 당 출력 레코드 수
    );

	// 페이지 정보 함수 호출 및 그 결과
	$pages = page_info ( $page_info_vars );
		$total_pages = $pages['total_pages'];
		$start_record = $pages['start_record'];

# div 설정
	echo "<div id='page_div' style='margin:0;padding:0;'>";

# 페이지 이동 안내 (상단)
	page_display ($cur_page, $total_pages, $cur_script.'?');
	echo "<br><br>";

# 해당 페이지 쿼리 및 출력
	// 쿼리문
	$query = "select korean,no from cjb_dict where korean like '자%' order by korean 
					limit $start_record, $page_records";

	// 쿼리 실행
	$result=mysqli_query($dbi,$query);
		if (mysqli_errno($dbi)) { echo mysqli_errno($dbi)." : ".mysqli_error($dbi)."\n";}

	// 레코드별로 가져와서 화면에 출력함
	$i = 1;
	while ( $matched = mysqli_fetch_assoc($result) ) {
		echo $cur_page . "-" . $i." (".($start_record+$i).") ";
        echo "<a href='/test/view/view.php?no={$matched[no]}'>$matched[korean]</a>";
        echo "<br>";
		$i = $i + 1 ;
	}

	echo "<br>";

# 페이지 이동 안내 (하단)
	page_display ($cur_page, $total_pages, $cur_script.'?');

# div 종료
	echo "</div>";

?>
Copyrightⓒ written by 차재복 (Cha Jae Bok)