PHP從零單排(十四)資料分頁顯示的原理及實現_PHP教程

來源:互聯網
上載者:User
分頁顯示是WEB編程中最頻繁處理的環節之一。所謂分頁顯示,就是通過程式將結果集一段一段的來顯示。實現分頁顯示,需要兩個初始參數:每頁顯示多少記錄和當前是第幾頁。再加上完整的結果集,就可以實現資料的分頁顯示。至於其他功能,比如上一頁、下一頁等均可以根據以上資訊加以處理得到。

要取得某表中的前10條記錄,可以使用如下SQL語句:

SELECT * FROM a_table LIMIT 0,10

要尋找第11到第20條記錄,使用的SQL語句如下所示:

SELECT * FROM a_table LIMIT 10,10

如要尋找第21條到第30條記錄,使用的SQL語句如下所示:

SELECT * FROM a_table LIMIT 20,10

以上SQL語句可以看出,每次取10條記錄,相當於每個頁面顯示10條資料,而每次所要取得記錄的起始位置和當期頁數之間存在著這樣的關係:起始位置=(當前頁數-1)*每頁要顯示的記錄數。如果以變數$page_size表示每頁顯示的記錄數,以變數$cur_page表示當前頁數,那麼上述可以用下面所示的SQL語句模板歸納:

select * from table limit ($cur_page-1)*$page_size,$page_size;

這樣,就得到了分頁情況下擷取資料的SQL語句。其中$page_size可以根據實際情況制定為一個定值,實際開發中,當前頁面$cur_page可以由參數傳入。另外,資料要顯示的總頁數,可以在記錄總數和每頁顯示的記錄數之間通過計算獲得。比如,如果總記錄數除以每頁顯示的記錄數後,沒有餘數,那麼總頁數就是這二者之商。

ERROR:".mysql_error()."
SQL:".$sql);?>13-8.php

POST GET ,是提交表單的兩種方式,GET傳值就用$_GET擷取,POST提交表單就用$_POST
post與get的區別是一個在地址欄顯示參數,另一個不顯示

舉個例子,如果你登入的時候用get方式,那麼你的值就會在地址欄上顯示,這樣就無安全性可言
而你在搜尋或者有頁碼的時候 用post把參數在地址欄上隱藏起來,這樣就毫無意義

而用$_GET可以獲得瀏覽器地址欄上的參數的值(?問號後面的一串字元),比如www.baidu.com/s?wd=123,那麼你用$_GET,就可以擷取參數(你可以理解為事件,動作,或者參數,該值在傳遞表單時與input的name一致)為wd的值123,多個參數用&符串連,比如?an=0&si=5理解為an參數的值為0與si參數的值為5。

**********************

打個比方說,你輸入一個地址叫 www.iron-feet.cn/?page=2
$_GET["page"]就是獲得地址上這個page的值,即得到2

http://www.bkjia.com/PHPjc/765065.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/765065.htmlTechArticle分頁顯示是WEB編程中最頻繁處理的環節之一。所謂分頁顯示,就是通過程式將結果集一段一段的來顯示。實現分頁顯示,需要兩個初始參數...

  • **********************
    ID Name Sex Age

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.