PHP分頁原理詳解(我自己的筆記和理解)_第1頁
PHP分頁原理詳解(我自己的筆記和理解)_第2頁
PHP分頁原理詳解(我自己的筆記和理解)_第3頁
PHP分頁原理詳解(我自己的筆記和理解)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論