



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、分頁原理的最核心的內(nèi)容是:把數(shù)據(jù)庫中某一段的信息分段的顯示在web頁面上,實現(xiàn)這樣的功能必須弄清楚以下1. 分段顯示在不同的頁面上,那么頁面如何確定呢?要解決這個問題主要是明白url的結(jié)構(gòu),使用parse_url()函數(shù)可以解析URL地址得到有固定鍵值的數(shù)組。實際上,在url中,可以使用hostname/path?page=value來確定上下頁面,這樣問題轉(zhuǎn)化為如何取得page,即當前頁面的值?我們可以使用$_GET'page'解決這個問題。2. 解決頁面問題之后,剩下的核心問題是如何去分段?使用limit查詢條件,可以把信息分段出來,關(guān)鍵是如何確定limit后面的2個變量的
2、值,一個是offset初始值,一個是pagesize,每頁要顯示多少內(nèi)容。假如當前頁的值為page,那么offset=(page-1)*pagesize, 例如:select * from message limit 10,5表示的是顯示第11-15個信息,共顯示5個,當前頁為第3頁,(3-1)*5=10。3. 使用$_SERVERREQUEST_URL可以取得當前URL的除去hostname的部分,當點擊下一頁或上一頁的時候,實際上又載入了一次頁面,那么當前URL就會保留上一個頁面的URL信息導(dǎo)致URL有問題,無法實現(xiàn)分頁功能,因此,必須取得當前URL之后,使用URL解析函數(shù),取得
3、path部分,才能保證URL不會被更新。4. 鏈接數(shù)據(jù)庫以及取得數(shù)據(jù)庫信息的方法不再贅述。只提供可能使用到的函數(shù)以供復(fù)習(xí)。mysql_connect() die() mysql_error() mysql_select_db() mysql_query() mysql_fetch_array() mysql_num_rows()以下是一個簡單的分頁代碼(只實現(xiàn)了共?條 ? 頁和上一頁 下一頁功能):<?php $conn = mysql_connect("localhost", "root", "123
4、456") or die("數(shù)據(jù)庫鏈接錯誤".mysql_error(); mysql_select_db("test", $conn); mysql_query("set names 'GBK'"); /使用GBK中文編碼; $pagesize=5;$numq=mysql_query("SELECT * FROM message");$num = mysql_num_rows($numq);/取得信息總數(shù) if($num
5、>$pagesize) if($num%$pagesize) $numpage=(int)($num/$pagesize)+1; else$numpage=$num/$pagesize; else$numpage=1; /計算一共有多少頁的信息$url=$_SERVERREQUEST_URI;$url=parse_url($url);$url=$urlpath;/取得不會被更新的URL地址的path部分 if(isset($_GET'page') $page=intval($
6、_GET'page'); /取得當前頁page的值 if($page<=0) $page=1; /防止page為負數(shù),數(shù)據(jù)庫無法取得信息而報錯。 if($page>$numpage) $page=$numpage; $offset=($page-1)*$pagesize;/分頁的核心原理
7、echo "共 $num 條 $numpage 頁:". "<a href=$url?page=".($page-1).">上一頁</a> <a href=$url?page=".($page+1).">下一頁</a>" /上下頁的設(shè)計 $sql="select * FROM message limit $offset,$pagesize"$result=mysql_query($sql);w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45141-2025反滲透進水修正污染指數(shù)測定方法
- 別墅清包工合同范本
- 醫(yī)院合資合同范本
- 農(nóng)藥合同范本
- 勞保買賣合同范本
- 二手房出售門面房合同范本
- 水槽代工合同范本
- 醫(yī)院信息咨詢合同范本
- 主體沉降觀測合同范本
- 單個產(chǎn)品銷售合同范本
- (正式版)JBT 14660-2024 額定電壓6kV到30kV地下掘進設(shè)備用橡皮絕緣軟電纜
- 本科院校-基礎(chǔ)醫(yī)學(xué)-醫(yī)學(xué)細胞生物學(xué)-第二章 細胞的概念與分子基礎(chǔ)
- iso37001-2016反賄賂管理手冊程序文件表單一整套
- 2.2算法的概念及其描述課件人教中圖版高中信息技術(shù)必修1
- 新蘇教版科學(xué)六年級下冊全冊教案(含反思)
- 高速公路橋頭跳車判別和處治
- 勃利縣大四站鎮(zhèn)侵蝕溝治理工程施工組織設(shè)計
- 汽車電子技術(shù)專業(yè)人才培養(yǎng)方案樣本
- 血栓風(fēng)險評估及個體化干預(yù)(遺傳性易栓癥風(fēng)險基因檢測)
- 血透患者的健康宣教課件
- 醫(yī)院輿情應(yīng)對處置預(yù)案
評論
0/150
提交評論