웹사이트에서는 일반적으로 목록 페이지에 내용이 너무 많으면 페이징 기능이 설정됩니다. 오늘은 페이징 원리를 연구하고 이 기능을 작은 사례를 통해 구현해 보겠습니다.
페이지 표시 mysql 데이터베이스에서 검색된 데이터는 일반 세그먼트로 표시됩니다. sql 문의 제한은 시작 데이터를 페이지 수에 바인딩하는 데 사용되며 페이지 수를 기준으로 데이터베이스에서 데이터를 가져옵니다. .예: 데이터베이스 테이블 이름이 list이고, 각 페이지에서 10개의 정보를 가져온다고 가정합니다.
第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 limit (n-1)*10,10;
select * from list limit ($page-1)*$pagesize,$pagesize; $page是当前的页数,$pagesize是每页取得条数
필수 지식 points
1. 기본 작업 데이터베이스 기능1.1, mysqli_connect(); $link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); 1.2, mysqli_query(): $res = mysqli_query($link, "select * from list");와 같은 데이터 가져오기 두 번째 매개변수는 sql 문입니다.
1.3, mysqli_num_rows(): 가져온 데이터 조각 수 확인 예를 들어, $num = mysqli_num_rows($res);
2.1 $_SERVER['REQUEST_URI']获取当前页面的url 例如https://i.cnblogs.com/EditPosts.aspx?opt=1的url为/EditPosts.aspx?opt=1 2.2 parse_url():解析url,返回url的各个组成部分,如果不写第二个参数,返回的数组中可能的键有以下几种: scheme - 如 http, host port user pass path query - 在问号 ? 之后 fragment - 在散列符号 # 之后
구현 프로세스:
1.parse_url로 구문 분석하여 URL 배열을 가져옵니다. 2. 서버에 접속하여 목록 페이지에 표시할 콘텐츠 컬렉션을 가져와서 표시되는 항목의 총 개수를 계산한 다음 콘텐츠의 총 페이지 수를 계산합니다
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!