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