IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)網(wǎng)絡(luò)編程PHP編程 → php完美結(jié)合mysql數(shù)據(jù)庫(kù)記錄分頁(yè)顯示

php完美結(jié)合mysql數(shù)據(jù)庫(kù)記錄分頁(yè)顯示

時(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)容

分頁(yè)顯示的實(shí)現(xiàn)方法

//連接數(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;

?>

do {

$i++;

?>

}

while ($myrow = mysql_fetch_array($res));

echo "

內(nèi)容

" ;

}

//顯示總頁(yè)?�

echo "

共有".$pages."?�(".$page."/".$pages.")
";

//顯示分頁(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 "

";

//計(jì)算首頁(yè)、上一頁(yè)、下一頁(yè)、尾頁(yè)的頁(yè)數(shù)?�

$first=1;

$prev=$page-1;

$next=$page+1;

$last=$pages;

if ($page>1)
{
echo "首頁(yè) ";

echo "上一?� ";

}

if ($page<$pages)

{

echo "下一?� ";

echo "尾頁(yè) ";

}

echo "轉(zhuǎn)到?�";

echo "";

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)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法 plsql developer怎么連接數(shù)據(jù)?�-plsql developer連接數(shù)據(jù)庫(kù)方?� 2021年最好用的10款php開(kāi)發(fā)工具推薦 2021年最好用?�10款php開(kāi)發(fā)工具推?� php利用淘寶IP庫(kù)獲取用戶ip地理位置 php利用淘寶IP庫(kù)獲取用戶ip地理位置 在 PHP 中使用命令行工具 ?� PHP 中使用命令行工具

相關(guān)下載

人氣排行 詳解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采集?�