>백엔드 개발 >PHP 문제 >PHP에서 페이징 표시를 설정하는 방법

PHP에서 페이징 표시를 설정하는 방법

L
L원래의
2020-06-01 13:09:384039검색

PHP에서 페이징 표시를 설정하는 방법

php에서 페이징 표시 설정 방법

페이징 원리

페이지 표시, mysql 데이터베이스에서 가져온 데이터가 일반 섹션에 표시되고 sql 문에 제한이 표시됩니다. 시작하는 데 사용됩니다. 원본 데이터는 페이지 수에 바인딩되어 있으며 페이지 수에 따라 데이터베이스에서 데이터를 가져옵니다

예: 데이터베이스 테이블 이름이 list라고 가정하고 10개의 정보를 가져옵니다. per page

    第1页   select * from list limit 0,10;
    第2页   select * from list limit 10,10;
    第3页   select * from list limit 20,10;

이 관점에서 n번째 페이지는 select * from list maximum (n -1)*10,10;

이런 식으로 페이지 수를 사용하여 데이터를 가져오는 공식을 얻습니다.

목록 제한에서 * 선택($page-1)*$pagesize,$pagesize; $page는 현재 페이지 수, $pagesize는 페이지당 항목 수를 얻는 데 필요한 지식 포인트

1. 기본 데이터베이스 작업 기능

1.1 mysqli_connect(); 예를 들어 $link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); ): 예를 들어 데이터 가져오기 $res = mysqli_query($link,"select * from list"); 두 번째 매개변수는 sql 문입니다.

1.3 mysqli_num_rows(): 가져온 데이터 조각 수를 확인합니다. num = mysqli_num_rows($res);

1.4 mysqli_fetch_assoc() 또는 mysqli_fetch_row(): 획득한 데이터 세트에서 한 번에 하나씩만 데이터 조각을 가져오고 포인터 가져오기를 완료합니다. 다음 항목을 가리키기만 하면 됩니다. 예를 들어, mysqli_fetch_assoc($res)는 fetch_assoc, fetch_row, fetch_array 외에 구체적인 차이점은 매뉴얼을 참조하세요

1.5 Limit은 데이터베이스에서 데이터를 연산하는데 사용되며, Limit은 시작 위치이며, 갯수는 예를 들어 작업은 데이터베이스에서 숫자를 가져오는 것입니다. 목록 제한 10,10;


2에서 *를 선택하세요. 기타 관련 지식

2.1 $_SERVER['REQUEST_URI'] 현재 페이지의 URL을 가져옵니다(예: https). ://i.cnblogs.com/EditPosts.aspx?opt=1 URL은 /EditPosts.aspx?opt=12.2입니다.parse_url(): URL을 구문 분석하고 두 번째 매개 변수가 작성되지 않은 경우 URL의 각 구성 요소를 반환합니다. 반환된 배열에 가능한 키는 다음과 같습니다:

구성표 - 예: http,
호스트

포트
사용자
패스
경로
쿼리 - 물음표 뒤?
조각 - 해시 기호 #


구현 과정

1. 현재 URL 문자열을 가져오고,parse_url로 구문 분석하여 URL 배열을 가져옵니다.

2. 서버에 연결하고, 목록 페이지에 표시할 콘텐츠 컬렉션을 가져오고, 표시되는 총 항목 수를 계산합니다. , 그리고 콘텐츠의 총 페이지 수를 계산합니다.

3. 페이지가 제출 상태인지 확인하고, 그렇지 않은 경우 기본값은 $pageval

4입니다. 계산된 제한 시작 위치를 변수 $page에 할당합니다.

5. $page 및 $pageSize를 사용하여 데이터베이스에서 데이터를 가져옵니다

6. 루프를 통해 데이터 수집을 편리하게 가져오면 출력이 페이지에 표시됩니다.

세부 사항 코드는 다음과 같습니다

$url = $_SERVER['REQUEST_URI'];
$url = parse_url($url);
$url = $url['path'];
$pageSize = 4;//连接服务器$link = mysqli_connect('127.0.0.1','root',12345678,'bbs');
$res = mysqli_query($link,'select * from fenye');
$num = mysqli_num_rows($res);
$pageNum = ceil($num/$pageSize);//判断页面是否是提交状态if ( isset($_GET['page']) && $_GET['page'] >1) {
    $pageVal = $_GET['page'];
}else {
    $pageVal = 1;
}//计算起始位置$page = ($pageVal-1)*$pageSize;//去数据库取数据$res = $mysqli_query($link,"select * from fenye limit $page,$pageSize");//如果$res有值,则循环便利结果展示输出在页面if ($res) {    while( $row = mysqli_fetch_assoc($res) ) {    echo $row[&#39;name&#39;]. &#39;|&#39;.$row[&#39;age&#39;].&#39;<br/>&#39;;
    }
}//html添加页数部分<a href="?page=1">1</a>;
<a href="?page=2">2</a>;
<a href="?page=3">3</a>;
<a href="?page=4">4</a>;
<a href="?page=5">5</a>;
总共<?php echo $pageNum; ?>页,当前在<?php echo $pageVal;?>页

권장 튜토리얼: "

PHP 튜토리얼

"

위 내용은 PHP에서 페이징 표시를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.