時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
在php網(wǎng)絡(luò)數(shù)據(jù)庫編程時,不可避免的要考慮到數(shù)據(jù)庫記錄結(jié)果的顯示問題,為了呈現(xiàn)美觀頁面并加快頁面的載入速度,就需要對數(shù)據(jù)庫記錄進(jìn)行分頁顯示。
現(xiàn)把與php完美結(jié)合的mysql數(shù)據(jù)庫記錄的分頁顯示實例拿出來與大家共享。
mysql數(shù)據(jù)庫為xinxiku,數(shù)據(jù)表為joke。其定義sql語句如下:
create table joke (
id int(5) not null auto_increment,
biaoti varchar(40) not null,
neirong text not null,
primary key (id)
);
?
字段說明:
id ?。河涗浱?,自動遞增且為主鍵
biaoti ?。簶?biāo)題
neirong :內(nèi)容
/* 定義一彈出窗口,來顯示具體內(nèi)容*/
function popwin(url)
{
window.open(url,"","left=340, top=190, height=280, width=400, resizable=yes, scrollbars=yes, status=no, toolbar=no, menubar=no, location=no");
}
//連接數(shù)據(jù)?�
$db=mysql_connect("localhost","root","");
mysql_select_db("xinxiku",$db);
//設(shè)定每一頁顯示的記錄?�
$pagesize=15;
//取得記錄總數(shù),計算總頁數(shù)用
$res=mysql_query("select count(*) from joke " ,$db);
$myrow = mysql_fetch_array($res);
$numrows=$myrow[0];
//計算總頁?�
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
//判斷頁數(shù)設(shè)置與否,如無則定義為首?�
if (!isset($page))
$page=1;
//判斷轉(zhuǎn)到頁數(shù)
if (isset($ys))
if ($ys>$pages)
$page=$pages;
else
$page=$ys;
//計算記錄偏移?�
$offset=$pagesize*($page-1);
//取記?�
$res=mysql_query("select id,biaoti from joke order by id desc limit $offset,$pagesize" ,$db);
//循環(huán)顯示記錄
if ($myrow = mysql_fetch_array($res))
{
$i=0;
?>
內(nèi)容 | |
}
//顯示總頁?�
echo "
//顯示分頁?�
for ($i=1;$i<$page;$i++)
echo "?�".$i ."?� ";
echo "?�".$page."?� ";
for ($i=$page+1;$i<=$pages;$i++)
echo "?�".$i ."?� ";
echo "
";
//顯示轉(zhuǎn)到頁數(shù)
echo "
";echo "
?>
程序說明?�
1、變量說?�
變量$page :存放當(dāng)前要顯示的頁數(shù)?�
變量$pages :存放總頁數(shù)?�
變量$offset :存放當(dāng)前頁數(shù)的偏移量?�
變量$pagesize:存放每頁中顯示的記錄數(shù)?�
2、mysql語句說明
select id,biaoti from joke order by id desc limit $offset,$pagesize
limit子句用來限制select語句返回的行數(shù)。limit中第一個參數(shù)指定要返回的第一行的偏移量offset,第二個參數(shù)指定返回行的最大數(shù)目pagesize?�
實現(xiàn)原理?�
在程序中傳遞一頁數(shù)變量page,在取記錄時根據(jù)傳遞的頁數(shù)值來計算出初始記錄位置offset,再根據(jù)每頁中要求顯示的記錄數(shù)pagesize取得記錄集。然后顯示之?�
程序?qū)崿F(xiàn)功能:
程序提供了兩種頁顯示的方法(假定當(dāng)前頁為第三頁)?�
1、把所有的頁數(shù)都顯示出來,根據(jù)頁數(shù)提供鏈接,當(dāng)前頁不提供鏈接。這適合于頁數(shù)不是太多的情況。樣式如?�1所示:
/ShowImg.asp?p=/2006-3-29/19430aimagea1.jpg
2、提供總頁數(shù),翻頁通過提供的首頁、上一頁、下一頁、尾頁和跳轉(zhuǎn)到來實現(xiàn)。當(dāng)然,如果當(dāng)前頁為每一頁,不提供首頁、上一頁的鏈接,當(dāng)前頁為最后一頁時,不提供下一頁、尾頁的鏈接?�
關(guān)鍵詞標(biāo)簽:php,mysql數(shù)據(jù)?�
相關(guān)閱讀
熱門文章 plsql developer怎么連接數(shù)據(jù)?�-plsql developer連接數(shù)據(jù)庫方?� 2021年最好用?�10款php開發(fā)工具推?� php利用淘寶IP庫獲取用戶ip地理位置 ?� PHP 中使用命令行工具
人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方?� plsql developer怎么連接數(shù)據(jù)?�-plsql developer連接數(shù)據(jù)庫方?� PHP中防止SQL注入攻擊 PHP會話Session的具體使用方法解?� PHP運行出現(xiàn)Notice : Use of undefined constant 的解決辦?� PHP如何清空mySQL數(shù)據(jù)?� CakePHP程序員必須知道的21條技?� PHP采集圖片實例(PHP采集?�