奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語言

PHP簡單的分頁過程與原理

時間:2025-03-30 01:26:20 php語言 我要投稿
  • 相關推薦

PHP簡單的分頁過程與原理

  作為一個Web程序,經常要和不計其數的數據打交道,比如會員的數據,文章數據,假如只有幾十個會員那很好辦,在一頁顯示就可以了,可是假如你的網站是幾千甚至幾十萬會員的話,如果都在一頁打開的話無論對瀏覽器還是觀看者都是一種折磨,而且如果數據上億,從數據庫里查詢一次的話,對服務器的壓力是很大的,這不是正確的方法。下面是小編為大家搜集整理出來的有關于PHP簡單的分頁過程與原理,希望可以幫助到大家!

  相信每個學習PHP的新手都會對分頁這個東西感覺很頭疼,不過有了默默的這一水帖,你肯定會拍拍腦袋說,嘿,原來分頁竟然如此簡單?的確,現在請深呼吸一口新鮮的空氣,仔細的聽默默給你一點一點的分解。

  假設我們要處理1000條數據,要在每頁中顯示10條,這樣的話就會分100頁來顯示,咱們先看一看在mysql里提取10條信息是如何操作的。

  Select * from table limit 0,10

  上面是一句很簡單的mysql查詢語句,它的作用是從一個名叫table的表里提取10條數據,并且把所有字段的值都獲得。其中的limit 0,10的用法是:limit 開始點,要提取的數目

  關鍵的地方就在這段“limit 0,10”,它其中的0是以0為起始點,后面的10則是顯示10條數據,那么我們要以10為起始點,顯示到第20條數據該怎么寫呢?

  可能很多大大會心直口快的說“limit 10,20”嘛!啊哦,這樣可就錯誤了哦,正確的寫法是“limit 10,10”它后面的參數并非是結束點而是要提取的數目 ,記住哦。

  懂得了如何提取10條數據,那么提取1000條也就是做100次這種查詢呀,就是說要做如下的查詢:

  Limit 0,10     //第一頁

  Limit 10,10    //第二頁

  Limit 20,10    //第三頁

  Limit 30,10    //第四頁

  ……

  看出有什么規律了嗎?沒錯,第一個參數每翻一頁就增加10,可是第二個參數是不變的。

  也就是說咱們設法根據頁數來改變第一個參數的值 ,就可以進行分頁顯示數據了,怎么樣,原理是不是很簡單?

  可是要怎么設法根據頁數來改變第一個參數的值呢?首先,咱們要有一個頁數的值,用url的GET方式獲取。

  比如index.php?page=18

  相信大部分的大大對這個東西不陌生吧,這種url地址可是隨處可見,其中的page參數的作用就是傳入要顯示的頁數。

  咱們通過一段代碼來看一看究竟是如何實現的吧:

  [php]

  <?php

  /*

  Author:默默

  Date :2006-12-03

  */

  $page=isset($_GET['page'])?intval($_GET['page']):1;  //這句就是獲取page=18中的page的值,假如不存在page,那么頁數就是1。

  $num=10;   //每頁顯示10條數據

  $db=mysql_connect("host","name","pass");   //創建數據庫連接

  $select=mysql_select_db("db",$db);     //選擇要操作的數據庫

  /*

  首先咱們要獲取數據庫中到底有多少數據,才能判斷具體要分多少頁,總頁數 具體的公式就是

  總數據數 除以 每頁顯示的條數,有余進一 。

  也就是說10/3=3.3333=4 有余數就要進一。

  */

  $total=mysql_num_rows(mysql_query("select * from table")); //查詢數據的總數total

  $pagenum=ceil($total/$num);  //獲得總頁數 pagenum

  //假如傳入的頁數參數apge 大于總頁數 pagenum,則顯示錯誤信息

  If($page>$pagenum || $page == 0){

  Echo "Error : Can Not Found The page .";

  Exit;

  }

  $offset=($page-1)*$num;   //獲取limit的第一個參數的值 offset ,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。    (傳入的頁數-1) * 每頁的數據 得到limit第一個參數的值

  $info=mysql_query("select * from table limit $offset,$num "); //獲取相應頁數所需要顯示的數據

  While($it=mysql_fetch_array($info)){

  Echo $it['name']."

  ";

  }                //顯示數據

  For($i=1;$i<=$pagenum;$i++){

  $show=($i!=$page)?"$i":"$i";

  Echo $show." ";

  }

  /*顯示分頁信息,假如是當頁則顯示粗體的數字,其余的頁數則為超連接,假如當前為第三頁則顯示如下

  1 2 3 4 5 6

  */

  ?>

  [/php]

  假如你仔細的讀過上面的代碼,把數據庫連接和查詢的表替換成你的,那么就能看見它的執行效果哦。

  是不是很簡單,只要動動腦筋,可以讓它顯示的更為個性化哦,給大家出一個小題,如何實現“首頁 上一頁 下一頁 尾頁”這種格式的分頁呢?

  OK,水帖灌完,收工。^_^ 默默小談PHP&MYSQL分頁原理及實現

  ===================================

  總結:

  原型:  Select * from table limit 0,10

  程序: select * from table limit $offset,$num ($offset取值是:傳入的頁面數-1  $num是每個頁面顯示的數據,多為固定常量值)

  總分頁數:總數據% 每頁顯示的條數 ,有余進一

  int totalPage=((totalCount%NUM)==0)?totalCount/NUM:totalCount/NUM+1;

  limit用法 :limit 開始點,要提取的數目

  不過要注意的是:一定要加上order by ,確定以上升或者下降的順序來查詢,不然在查詢的時候會不知道從哪個方向開始查詢。不過一定要注意順序:正確的是select * from user order by id desc limit 0,10;

【PHP簡單的分頁過程與原理】相關文章:

php分頁類代碼09-08

學習php分頁代碼實例10-11

PHP分頁自定義函數09-08

Bootstrap的php制作動態分頁標簽10-26

一個PHP+MSSQL分頁的例子09-23

一段經典php mysql分頁程序代碼08-11

php+ajax實現無刷新數據分頁例子07-31

PHP Socket編程過程07-19

PHP底層的運行機制與原理06-20

主站蜘蛛池模板: 美姑县| 永胜县| 德清县| 永州市| 莱芜市| 如东县| 鄂温| 萝北县| 巫山县| 木里| 高淳县| 枣庄市| 鄂托克旗| 常德市| 河曲县| 农安县| 淮南市| 磐安县| 青岛市| 安义县| 武平县| 嘉义县| 怀仁县| 栾城县| 莫力| 江北区| 新龙县| 台山市| 大悟县| 辉县市| 克东县| 任丘市| 泾阳县| 怀集县| 濉溪县| 葵青区| 改则县| 灵山县| 阜阳市| 工布江达县| 白山市|