PHP membangunkan buku tetamu ringkas dengan fungsi mesej paparan halaman
Untuk memaparkan semua ulasan pengguna pada halaman dan memaparkannya melalui halaman.
Idea umum paging ialah: mula-mula tentukan bilangan mesej yang perlu dipaparkan pada setiap halaman, kemudian bahagikan jumlah bilangan mesej dengan bilangan mesej yang dipaparkan pada setiap halaman untuk mendapatkan jumlah bilangan halaman Jika ia tidak boleh dibahagikan sama rata, bakinya menjadi halaman yang berasingan , jumlah bilangan halaman +1.
Teruskan menggunakan set pangkalan data seperti LyDB di bahagian sebelumnya.
Di sini ditetapkan untuk memaparkan 3 keping data setiap halaman
<?php $page_size=3; ?>
Gunakan fungsi awam untuk meletakkan nombor page_size yang dipaparkan pada setiap halaman, bilangan mesej ly_count dan jumlah bilangan halaman page_count ke dalam tatasusunan
<?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; } //......省略 } ?>
Tetapkan halaman semasa $page_no
melalui fungsi awam Apabila dinilai bahawa halaman semasa kurang daripada 1, teruskan dipaparkan halaman pertama. Apabila halaman semasa lebih besar daripada jumlah halaman yang diperoleh, halaman terakhir akan dipaparkan
Tentukan halaman pertama dan terakhir
<?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; } //......省略 } ?>
Tambahkan fungsi halaman. muka hadapan
<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>