PHP 개발에서 frameworks는 점점 더 광범위하게 사용되는 것을 볼 수 있습니다. 프레임워크를 너무 많이 사용하면 점차 과거의 일이 될 것입니다. 모두가 기본적인 것을 과거에 맡기지 않기를 바랍니다. ! 우리의 기사는 네이티브 페이징을 구현하기 위해 MySQL과 결합된 PHP에 관한 것입니다. 이제 일반 프레임워크는 페이지 매김 클래스를 캡슐화하므로 수동으로 작성할 필요가 없습니다. 하지만 할 일이 없을 때는 글쓰기를 시도하고 코딩 기술을 연습해 볼 수 있습니다. PHP+MYSQL 페이징은 주로 SQL 문의 제한을 기준으로 구현됩니다.
limit 문:
select * from table limit `limit`,`offset`;
제한은 페이징 페이지 수로, 오프셋은 각 페이지에 표시되는 항목 수로 생각할 수 있습니다.
구현 효과는 그림과 같습니다.
이것은 단지 예제 코드일 뿐이며 주로 페이징 기능, 페이지 효과 등을 구현합니다. 이와 관련된 특별한 디버깅은 없습니다.
주요 기능은 홈페이지, 마지막 페이지, 이전 페이지, 다음 페이지, 전체 페이지 통계, 현재 페이지 위치 지정, 디지털 디스플레이, 최대 4개이며 나머지는 다음과 같이 표시됩니다....
특정 코드 구현:
PDO에서 운영하는 데이터베이스입니다<?php
header("Content-type:text/html;charset=utf-8");
// 1、传入页码
$page = $_GET['p'];
// 2、根据页码取出数据
$pdo = new PDO('mysql:host=localhost;dbname=ceshi','root','root');
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$sql = 'SELECT * FROM `goods` LIMIT :start,:offset';
$limit = ($page-1)*3;
$offset = 3;
$stmt = $pdo->prepare($sql);
$sqlnum = 'SELECT COUNT(*)FROM `goods`';
$stmtnum = $pdo->prepare($sqlnum);
$stmtnum->execute();
$num = $stmtnum->fetch(PDO::FETCH_ASSOC);
$stmt->bindParam(':start',$limit);
$stmt->bindParam(':offset',$offset);
if(!$stmt->execute()){
throw new Exception('查找失败',1);
}
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
// 3、显示数据+显示分页条
/**总页数**/
$end = floor($num['COUNT(*)']/$offset)+1;
$page_banner ='<a href="'.$_SERVER['PHP_SELF'].'?p=1"> 首页</a>';
if($page <=1){
$page_banner .= '<a style="color:#B8BBB3;"> 上一页</a>';
}else{
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page -1).'"> 上一页</a>';
}
if($page+3>4){
$page_banner .= '...';
}
if(($page+4)>=$end){
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-3).'"> '.($end-3).'</a>';
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-2).'"> '.($end-2).'</a>';
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-1).'"> '.($end-1).'</a>';
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end).'"> '.($end).'</a>';
}else{
for($i=0;$i<4;$i++){
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page+$i).'"> '.($page+$i).'</a>';
}
}
if(($page+4)<$end){
$page_banner .= '...';
}
if($page <=$num['COUNT(*)']/$offset){
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page +1).'"> 下一页</a>';
}else{
$page_banner .='<a style="color:#B8BBB3;"> 下一页</a>';
}
$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.$end.'"> 尾页</a>';
$page_banner .='<span> 总共'.$end.'页</span> 当前第<span>'.$page."页</span>";
echo $page_banner;
?>
로컬에서 연습할 수 있습니다! 이해가 안 된다면 더 연습해야 합니다! 이런 기본적인 것들은 잊어버리면 다시 익히기가 힘들거든요! !
오늘은 사용하기 쉽고 아름다운 PHP 페이징 클래스를 여러분과 공유하겠습니다!
PHP 페이징의 구현 원리 범용 PHP 페이징 클래스 예제 코드이 글에서는 특히 사용하기 쉬운 범용 PHP 페이징 클래스를 주로 소개합니다. PHP 페이징 클래스를 사용해야 하는 친구들은 놓치지 마세요.
thinkphp 페이징 구현많은 양의 데이터를 표시하려면 콘텐츠의 페이징이 필요합니다. 이 글은 조직을 위한 thinkphp 페이징을 소개하기 위한 것입니다.
위 내용은 PHP와 MySQL을 결합하여 네이티브 페이징 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!