PHP代碼如下:
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團(tuán)隊(duì)10余年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
/*
Author:默默
Date :2006-12-03
*/
$page=isset($_GET['page'])?intval($_GET['page']):1; //這句就是獲取page=18中的page的值,假如不存在page,那么頁數(shù)就是1。
$num=10; //每頁顯示10條數(shù)據(jù)
$db=mysql_connect("host","name","pass"); //創(chuàng)建數(shù)據(jù)庫連接
$select=mysql_select_db("db",$db); //選擇要操作的數(shù)據(jù)庫
/*
首先咱們要獲取數(shù)據(jù)庫中到底有多少數(shù)據(jù),才能判斷具體要分多少頁,具體的公式就是
總數(shù)據(jù)數(shù)除以每頁顯示的條數(shù),有余進(jìn)一。
也就是說10/3=3.3333=4 有余數(shù)就要進(jìn)一。
*/
$total=mysql_num_rows(mysql_query("select id from table")); //查詢數(shù)據(jù)的總數(shù),id是數(shù)據(jù)庫中的一個(gè)自動(dòng)賦值的字段
$pagenum=ceil($total/$num); //獲得總頁數(shù)
//假如傳入的頁數(shù)參數(shù)大于總頁數(shù),則顯示錯(cuò)誤信息
If($page$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}
$offset=($page-1)*$num; //獲取limit的第一個(gè)參數(shù)的值,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。
$info=mysql_query("select name from table limit $offset,$num"); //獲取相應(yīng)頁數(shù)所需要顯示的數(shù)據(jù),name是數(shù)據(jù)里的一個(gè)字段
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //顯示數(shù)據(jù)
For($i=1;$i=$pagenum;$i++){
$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}
/*顯示分頁信息,假如是當(dāng)頁則顯示粗體的數(shù)字,其余的頁數(shù)則為超連接,假如當(dāng)前為第三頁則顯示如下
1 2 3 4 5 6
*/
?
?php
$mysql_server_name="localhost";
$mysql_username='root';
$mysql_password='';
$mysql_database='hp';
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
@mysql_connect("localhost","root","")?or?die("數(shù)據(jù)庫連接失敗");
@mysql_select_db("hp")?or?die("數(shù)據(jù)庫不存在");
mysql_query("set?names?utf8");
$pagesize?=?$_GET['pagesize']??0???$_GET['pagesize']?:?10;?//默認(rèn)情況下每頁顯示10條數(shù)據(jù)
$pagenum?=?$_GET['pagenum']??0???$_GET['pagenum']?:?0;
$query_start?=?$pagesize?*?$pagenum;
if($_POST['submit']){
$strsql_add?=?'';
$strsql_add?.=$_POST['idc']???"?and?idc='$_POST[idc]'?":"";
$strsql_add?.=$_POST['jiguihao']???"?and?jiguihao='$_POST[jiguihao]'?":"";
$strsql_add?.=$_POST['neicun']???"?and?neicun='$_POST[neicun]'?":"";
$strsql_add?.=$_POST['yingpan']???"?and?yingpan='$_POST[yingpan]'?":"";
$strsql_add?.=$_POST['xinghao']???"?and?xinghao='$_POST[xinghao]'?":"";
$strsql_add?.=$_POST['cpu']???"?and?cpu='$_POST[cpu]'?":"";
$strsql_add?.=$_POST['guishu']???"?and?guishu='$_POST[guishu]'?":"";
$strsql_add?.=$_POST['ip']???"?and?ip='$_POST[ip]'?":"";
}
$strsql="select?*?from?zichan?where?1=1?$strsql_add?limit?$query_start,?$pagesize";
$result=mysql_db_query($mysql_database,$strsql,$conn);
$row=mysql_fetch_row($result);
$nextpage_num?=?$pagenum++;
$lastpage_num?=?ceil(count($row)/$pagesize);
echo?'font?face="verdana"';
echo?'table?border="1"?cellpadding="1"?cellspacing="2"';
//?顯示字段名稱
echo?"/btr/b";
for?($i=0;?$imysql_num_fields($result);?$i++)
{
echo?'td?bgcolor="#00FF00"b'.
mysql_field_name($result,?$i);
echo?"/b/td/b";
}
echo?"/tr/b";
//?定位到第一條記錄
mysql_data_seek($result,?0);
//?循環(huán)取出記錄
while?($row=mysql_fetch_row($result))
{
echo?"tr/b";
for?($i=0;?$imysql_num_fields($result);?$i++?)
{
echo?'td?bgcolor="#00FF00"';
echo?$row[$i];
echo?'/td';
}
echo?'tda?href=\'xiugai.php?id='.$row[0].'\'修改/a';
echo?'/td';
echo?'tda?href="javascript:void(0)"?onclick="if(window.confirm(\'確認(rèn)刪除?\')){window.location.href=\'del.php?id='.$row[0].'\'}"刪除/a';
echo?'/td';
echo?"/tr/b";
}
echo?"/table/b";
echo?"/font";
//?釋放資源
mysql_free_result($result);
//?關(guān)閉連接
mysql_close($conn);
?
html頁面要增加的參數(shù):
首頁 增加 pagenum=0 或者 不加
下一頁 pagenum= $nextpage_num
尾頁 pagenum= $lastpage_num
我這個(gè)好用一點(diǎn),可以直接加在最前面,有兩個(gè)變量從頁面GET的來。
可如下引用:
echo yemiandaohang("thispage.php?",$num,$perpage,$page);
參數(shù)說明:
1、連接文檔及其他的在網(wǎng)頁中需用到的GET變量
2、查詢結(jié)果的總數(shù),仁兄的網(wǎng)頁中若使用,此值可為:$num
3、每頁顯示個(gè)數(shù),此處設(shè)置默認(rèn)為10個(gè),并可以從網(wǎng)頁GET變量來改變
4、當(dāng)前頁編號(hào)。
///////////////////////////////////////////設(shè)置分頁顯示///////////////////////////////////////////////////
//設(shè)置每頁顯示個(gè)數(shù)
if($_REQUEST[perpage]){
$perpage=$_REQUEST[perpage];
}
else{
$perpage=20;
}
//設(shè)置當(dāng)前頁
if($_REQUEST[page]){
$page=$_REQUEST[page];
}
else{
$page=1;
}
function yemiandaohang($web_,$count_,$per_page_=10,$page_no_=1){
$page_count_=ceil($count_/$per_page_);//計(jì)算頁數(shù)
if($page_no_==1){//設(shè)置前導(dǎo)連接
$title_s_="首頁 | 上一頁 | ";
}
else{
$title_s_="a href=\"".$web_."page=1perpage=".$per_page_."\"首頁/a | a href=\"".$web_."page=".($page_no_-1)."perpage=".$per_page_."\"上一頁/a|";
}
if($page_no_==$page_count_){//設(shè)置后導(dǎo)連接
$title_e_="下一頁 | 尾頁";
}
else{
$title_e_="ba href=\"".$web_."page=".($page_no_+1)."perpage=".$per_page_."\"下一頁/a/b | a href=\"".$web_."perpage=".$per_page_."page=".$page_count_."\"尾頁/a/b";
}
//設(shè)置數(shù)字連接
$title_m_="";
for($x=1;$x=$page_count_;$x++){
if($x==$page_no_){
$title_m_=$title_m_.$x." | ";
}
else{
$title_m_=$title_m_."a href=\"".$web_."page=".$x."perpage=".$per_page_."\"".$x."/a | ";
}
}
$title_=$title_s_.$title_m_.$title_e_."(每頁".$per_page_."條,共".$page_count_."頁".$count_."條,現(xiàn)在顯示第".$page_no_."頁)";
return $title_;//返回頁面導(dǎo)航字符
}
///////////////////////////////////////////設(shè)置分頁顯示結(jié)束///////////////////////////////////////////////
另外,查詢語句前要定義一個(gè)$startrecord,分頁查詢要用到;在查詢語句里面最后需要加上 limit $startrecord,$perpage 以確定查詢的數(shù)據(jù)的開始和個(gè)數(shù)
這是我自己寫的,可以訪問下面的示例:里面有兩處引用