Program kelui sistem penerbitan artikel pembangunan PHP
Program paging
Prinsip utama paging ditunjukkan dalam rajah di bawah:
Nota: Pratakrif bilangan item data yang akan dipaparkan pada setiap halaman (dengan mengandaikan tiga keping data pada satu halaman), dan hitung jumlah bilangan halaman berdasarkan jumlah bilangan item data dalam pangkalan data
Halaman keluaran menggunakan kata kunci had pernyataan pertanyaan pangkalan data Halaman pertama ialah 3 keping data bermula dari keping data ke-0, halaman kedua ialah 3 keping data. bermula dari sekeping data ke-3, dan halaman ke-n ialah 3 keping data bermula dari (n- 1) *3 keping data bermula dari 3 keping data
Sekarang prinsipnya telah dijelaskan , mari kita lihat program sebenar Komen dalam program sangat jelas Anda boleh memerhati dan memahami baris demi baris
<?php //分頁功能 //連接數(shù)據(jù)庫 require_once("connect.php"); $page = isset($_GET['page'])?intval($_GET['page']):1;//設(shè)置當(dāng)前頁數(shù),沒有則設(shè)置為1 $num=3;//每頁顯示3條數(shù)據(jù) /* 首先我們要獲取數(shù)據(jù)庫中到底有多少數(shù)據(jù),才能判斷具體要分多少頁,總頁數(shù) 具體的公式就是 總數(shù)據(jù)數(shù) 除以 每頁顯示的條數(shù),有余進一 。 也就是說10/3=3.3333=4 有余數(shù)就要進一。 */ $sql="select * from article"; $result=mysqli_query($conn,$sql); $total=mysqli_num_rows($result);//查詢數(shù)據(jù)的總條數(shù) $pagenum=ceil($total/$num);//獲得總頁數(shù) //假如傳入的頁數(shù)參數(shù)page 大于總頁數(shù) pagenum,則顯示錯誤信息 if($page>$pagenum || $page == 0){ echo "<script>alert('沒有內(nèi)容了');history.go(-1);</script>"; exit; } $offset=($page-1)*$num; /* 獲取limit的第一個參數(shù)的值 offset ,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。 (傳入的頁數(shù)-1) * 每頁的數(shù)據(jù) 得到limit第一個參數(shù)的值*/ $sql="select * from article limit $offset,$num "; $info=mysqli_query($conn,$sql); //獲取相應(yīng)頁數(shù)所需要顯示的數(shù)據(jù) //獲取最新添加的前六條數(shù)據(jù) $sql_new="select id,title from article order by dateline desc limit 0,6 "; $info_title=mysqli_query($conn,$sql_new); ?>