麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 建站經驗 > 正文

php實現分頁顯示

2024-04-25 20:43:06
字體:
來源:轉載
供稿:網友

所謂分頁顯示,也就是將數據庫中的結果集人為的分成一段一段的來顯示,這里需要兩個初始的參數:

每頁多少條記錄($PageSize)?

當前是第幾頁($CurrentPageID)?

現在只要再給我一個結果集,我就可以顯示某段特定的結果出來。

至于其他的參數,比如:上一頁($PReviousPageID)、下一頁($NextPageID)、總頁數($numPages)等等,都可以根據之前的知識獲得。

以MySQL數據庫為例,如果要從表內截取某段內容,sql語句可以用:select * from table limit offset, rows。看看下面一組sql語句,嘗試一下發現其中的規率。

前10條記錄:select * from table limit 0,10

第11至20條記錄:select * from table limit 10,10

第21至30條記錄:select * from table limit 20,10

……

這一組sql語句其實就是當$PageSize=10的時候取表內每一頁數據的sql語句,我們可以總結出這樣一個模板:

select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize

利用這個模板代入對應的值和上邊那一組sql語句對照一下看看是不是那么回事。搞定了最重要的如何獲取數據的問題以后,剩下的就僅僅是傳遞參數,構造合適的sql語句然后使用php從數據庫內獲取數據并顯示了。以下我將用具體代碼加以說明。

簡單代碼實現

請詳細閱讀以下代碼,自己調試運行一次,最好把它修改一次,加上自己的功能,比如搜索等等。

// 建立數據庫連接

$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")

or die("Could not connect: " . mysql_error());

// 獲取當前頁數

if( isset($_GET['page']) ){

$page = intval( $_GET['page'] );

}

else{

$page = 1;

}

// 每頁數量

$PageSize = 10;

// 獲取總數據量

$sql = "select count(*) as amount from table";

$result = mysql_query($sql);

$row = mysql_fetch_row($result);

$amount = $row['amount'];

// 記算總共有多少頁

if( $amount ){

if( $amount < $page_size ){ $page_count = 1; } //如果總數據量小于$PageSize,那么只有一頁

if( $amount % $page_size ){ //取總數據量除以每頁數的余數

$page_count = (int)($amount / $page_size) + 1; //如果有余數,則頁數等于總數據量除以每頁數的結果取整再加一

}else{

$page_count = $amount / $page_size; //如果沒有余數,則頁數等于總數據量除以每頁數的結果

}

}

else{

$page_count = 0;

}

// 翻頁鏈接

$page_string = '';

if( $page == 1 ){

$page_string .= '第一頁|上一頁|';

}

else{

$page_string .= '第一頁|.($page-1).'>上一頁|';

}

if( ($page == $page_count) || ($page_count == 0) ){

$page_string .= '下一頁|尾頁';

}

else{

$page_string .= '.($page+1).'>下一頁|.$page_count.'>尾頁';

}

// 獲取數據,以二維數組格式返回結果

if( $amount ){

$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";

$result = mysql_query($sql);

while ( $row = mysql_fetch_row($result) ){

$rowset[] = $row;

}

}else{

$rowset = array();

}

// 沒有包含顯示結果的代碼,那不在討論范圍,只要用foreach就可以很簡單的用得到的二維數組來顯示結果

?>

以上就是php實現分頁顯示的方法,希望對大家的學習有所幫助

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一国产一级毛片视频 | 成年人黄视频 | 日本中文字幕网址 | 大学生一级毛片在线视频 | 一本到免费视频 | 久久99精品久久久久久236 | 精品国产1区2区3区 免费国产 | 在线香蕉视频 | 精品一区二区三区在线观看国产 | 午夜天堂在线 | 精品一区视频 | 蜜桃成品人免费视频 | 一级做a爱视频 | 久在线草| a视频在线免费观看 | 史上最强炼体老祖动漫在线观看 | 国产好片无限资源 | 久久久久久久一区二区三区 | 亚洲第五色综合网 | 911色_911色sss主站色播 | 久草在线高清视频 | 久久久久久久久久久综合 | 久久6国产| 免看黄大片aa | 久久新网址 | 欧美18—19sex性护士中国 | 亚洲国产精品高潮呻吟久久 | 福利在线播放 | 日韩毛片免费观看 | 国内精品伊人久久久久网站 | 亚洲精品7777 | 色播一区 | 亚洲精品欧美二区三区中文字幕 | 成人在线观看一区二区 | 久久精品亚洲一区二区 | 久久久久久久久久网站 | 91精品国产综合久久青草 | 精品成人免费一区二区在线播放 | 免费看性xxx高清视频自由 | 在线亚洲欧美 | 免费观看又色又爽又黄的崩锅 |