編碼寄語:化繁為簡,則豁然開朗。
執行截圖:
關鍵步驟:
建立資料庫
create table `page` (傳入頁碼:使用get方法`id` int(10) not null auto_increment,
`name` varchar(10) default null,
primary key (`id`)
)
$page=$_get['p'];根據頁碼顯示資料:設定每頁顯示數量為pagesize,頁碼為page,則第page頁顯示的第一條資料id為:(page-1)* pagesize 。sql語句如下
$sql="select * from page order by id asc limit ".($page-1)*$pagesize .",";顯示資料
$result=mysqli_query($conn,$sql);知識補充:$page_banner .= 作用是銜接;$_server['php_self']表示當前正在執行的指令碼的檔名。//將資料顯示到table中,並為table設定格式
echo "";
echo "";
echo "id
name
"; while ($row = mysqli_fetch_assoc($result)) ";
echo "";
echo "";
}echo "";
echo "
"; //釋放結果
mysqli_free_result($result);
以上四個步驟可以實現簡單的分頁效果。但page的值只能在位址列手動輸入更改,才能達到分頁的效果。如位址列輸入:http://localhost/mypage.php?p=5 表示當前顯示的是第五頁。
完善階段:page值通過頁碼欄獲取;首頁、尾頁、跳轉功能的實現;介面美化。
完整**如下:mypage.php
<?php//設定級別錯誤,通知類除外
error_reporting('e_all&~e_notice');
/**1---傳入頁碼,使用get獲取**/
$page=$_get['p'];
/**2---根據頁碼取出資料:php->mysql處理**/
$host="localhost";
$username="root";
$password="";
$db="test";
$pagesize=10;
$showpage=5;
//連線資料庫,面向過程
$conn=mysqli_connect($host,$username,$password);
if(!$conn)
//選擇所要操作的資料庫
mysqli_select_db($conn,$db);
//設定資料庫編碼格式
mysqli_query($conn,"set names utf8");
//編寫sql獲取分頁資料 select * from 表名 limit 起始位置,顯示條數
$sql="select * from page order by id asc limit ".($page-1)*$pagesize .",";
//把sql語句傳送到資料庫
$result=mysqli_query($conn,$sql);
//將資料顯示到table中,並未table設定格式
echo "";
echo "";
echo "id
name
"; while ($row = mysqli_fetch_assoc($result)) ";
echo "";
echo "";
}echo "";
echo "
"; //釋放結果
mysqli_free_result($result);
//獲取資料總條數
$total_sql="select count(*)from page";
$total_result=mysqli_fetch_array(mysqli_query($conn,$total_sql));
$total=$total_result[0];
$total_pages=ceil($total/$pagesize);
//關閉資料庫
mysqli_close($conn);
/**3---顯示資料+顯示分頁條**/
$page_banner="";
//計算偏移量
$pageoffset=($showpage-1)/2;
if($page>1)else
//顯示
$start=1;
$end=$total_pages;
//當總條數大於分頁數時
if($total_pages>$showpage)
if($page>$pageoffset)
//最前面幾個特殊頁號的顯示。當前指的是頁號1或者2時
else
//最後面幾個特殊頁號的顯示,當前顯示的是頁號7和8
if($page+$pageoffset>$total_pages)
}//顯示頁碼
for($i=$start;$i<=$end;$i++)";
}//非當前頁碼顯示
else";
}
}if($total_pages>$showpage&&$total_pages>$page+$pageoffset)
if($page
$page_banner .= "共頁,";
$page_banner .= "";
$page_banner .= "
"; echo $page_banner;
?>
PHP MYSQL分頁原理
select from table limit 開始位置 操作條數 分頁原理 所謂分頁顯示,也就是講資料庫中的結果集,一段一段顯示出來 怎麼分段,當前在第幾段 每頁有幾條,當前再第幾頁 前10條記錄 select from table limit 0,10 第11至20條記錄 select from...
PHP Mysql 分頁原理及應用
分頁程式有兩個非常重要的引數 每頁顯示幾條記錄 pagesize 和當前是第幾頁 page 有了這兩個引數就可以很方便的寫出分頁程式,我們以mysql資料庫作為資料來源,在mysql裡如果要想取出表內某段特定內容可以使用的 t sql語句 select from table limit offset...
基於php mysql實現分頁技術
1.傳入頁碼 page get p url中傳入的值 p 1 2 3.2.傳入分頁資料 host localhost 3307 username root password db test pre page 1 10 pagesize 10 showpage 5 conn mysql connect...