PHP는 페이징 표시 메시지 기능을 갖춘 간단한 방명록을 개발합니다.
페이지에 모든 사용자 댓글을 표시하고 페이징을 통해 표시합니다.
페이징의 일반적인 개념은 먼저 각 페이지에 표시해야 하는 메시지 수를 결정하고, 총 메시지 수를 각 페이지에 표시되는 메시지 수로 나누어 총 페이지 수를 구하는 것입니다. 균등하게 나눌 수 없는 경우 나머지 페이지는 별도의 페이지가 되며 전체 페이지 수는 +1됩니다.

이전 섹션에서 설정한 데이터베이스의 LyDB 클래스를 계속 사용하세요.
여기서는 페이지당 3개의 데이터를 표시하도록 설정되어 있습니다
<?php $page_size=3; ?>
공개 함수를 사용하여 각 페이지에 표시되는 page_size 수, 메시지 수 ly_count 및 총 페이지 수 page_count를 배열 array에 넣습니다
<?php
class LyDb{
//....省略
public function select_page_info(){
$sql = "select count(*) as pagecount from ly";
$query = mysqli_query($this->link,$sql);
$row = mysqli_fetch_assoc($query);
$ly_count=$row["pagecount"];
$page_count=($ly_count%$this->page_size==0)?($ly_count/$this->page_size):($ly_count/$this->page_size+1);
$page_info=array("ly_count"=> $ly_count,"page_count"=>(int)$page_count,"page_size"=>$this->page_size);
return $page_info;
}
//......省略
}
?> 공개 함수를 사용하여 현재 페이지를 설정하세요. $page_no
현재 페이지가 1개 미만이라고 판단되면, 현재 페이지가 획득한 총 페이지 수보다 크면 첫 번째 페이지를 계속 표시합니다. 마지막 페이지가 표시됩니다
첫 번째 페이지와 마지막 페이지를 결정하세요
<?php
lass LyDb{
//....省略
public function select_page_result(&$page_no){
$page_info=$this->select_page_info();
if(!isset($page_no))$page_no=1;
else if($page_no<1)$page_no=1;
else if($page_no>$page_info["page_count"])$page_no=$page_info["page_count"];
$first=($page_no-1)*$this->page_size;
$sql="select * from ly order by id desc limit $first,$this->page_size ";
$query=mysqli_query($this->link,$sql);
$page_result=array("page_data"=>$query,"page_info"=>$page_info,"page_no"=>$page_no);
return $page_result;
}
//......省略
}
?>프런트 엔드 페이지에 페이징 기능 추가
<div class="pagination" > 当前第<?php echo $page_result["page_no"];?>页/ 共<?php echo $page_result["page_info"]["page_count"];?>页/ 每页显示<?php echo $page_result["page_info"]["page_size"]; ?>条/ 共<?php echo $page_result["page_info"]["ly_count"]; ?>条留言 <a href="index.php?pn=<?php echo ($page_result['page_no']-1);?>">上一页</a> <a href="index.php?pn=<?php echo ($page_result['page_no']+1);?>">下一页</a> <a href="index.php?pn=1">首页</a> <a href="index.php?pn=<?php echo ($page_result['page_info']['page_count']);?>">尾页</a> </div>
새로운 파일
<div class="pagination" >
当前第<?php echo $page_result["page_no"];?>页/
共<?php echo $page_result["page_info"]["page_count"];?>页/
每页显示<?php echo $page_result["page_info"]["page_size"]; ?>条/
共<?php echo $page_result["page_info"]["ly_count"]; ?>条留言
<a href="index.php?pn=<?php echo ($page_result['page_no']-1);?>">上一页</a>
<a href="index.php?pn=<?php echo ($page_result['page_no']+1);?>">下一页</a>
<a href="index.php?pn=1">首页</a>
<a href="index.php?pn=<?php echo ($page_result['page_info']['page_count']);?>">尾页</a>
</div>
시사
Clear
- 코스 추천
- 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~
이 강좌를 시청한 학생들도 학습하고 있습니다.
PHP로 사업을 시작하는 방법에 대해 간단히 이야기해 보겠습니다.
웹 프론트 엔드 개발에 대한 빠른 소개
민망한 물건 백과사전 사이트를 모방한 Mini 버전 MVC 프레임워크의 대규모 실용 Tianlongbabu 개발
PHP 실용 개발 시작하기: 빠른 PHP 생성 [중소기업 포럼]
로그인 인증 및 클래식 게시판
컴퓨터 네트워크 지식 수집
빠른 시작 Node.JS 정식 버전
당신을 가장 잘 이해하는 프론트엔드 강좌: HTML5/CSS3/ES6/NPM/Vue/...[원본]
자신만의 PHP MVC 프레임워크 작성(깊이 있는 40개 장/자세한 내용/초보자가 발전하려면 읽어야 함)
















