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['name']. '|'.$row['age'].'<br/>'; } }//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 중국어 웹사이트의 기타 관련 기사를 참조하세요!