php分頁演算法(java分頁演算法)

本文目錄一覽:

php 分頁演算法

這是我以前用的分頁,你看看吧,希望能幫到你。

html

head

title分頁/title

/head

body

table align=”center” border=”1″ width=”500″

tr

td編號/td

td用戶名/td

td密碼/td

td郵箱/td

/tr

?php

$conn=mysql_connect(“localhost”,”root”,””);

mysql_set_charset(“utf8”,$conn);

$db = mysql_select_db(“bbs”,$conn);

$rs = mysql_query(“select * from userInfo”);

$totalRow = mysql_num_rows($rs);//總記錄數

$currentPage = $_GET[“currentPage”];//當前頁

if($currentPage == null){

$currentPage = 1;

}

$pageSize = 3;//每頁顯示的記錄數

$first = ($currentPage-1)*$pageSize;//起始值

$last = $first + $pageSize;//結束值

$totalPage = ceil($totalRow / $pageSize);//總頁數

if($last $totalRow)

{

$last = $totalRow;

}

for($i=$first;$i$last;$i++)

{

mysql_data_seek($rs,$i);//定位游標

$row = mysql_fetch_array($rs);

echo “tr”;

echo ” td{$row[0]}/td”;

echo ” td{$row[1]}/td”;

echo ” td{$row[2]}/td”;

echo ” td{$row[3]}/td”;

echo “/tr”;

}

mysql_free_result($rs);

mysql_close($conn);

?

tr

td colspan=”4″ align=”center”

?php

if($currentPage == 1)

{

echo “首頁 上一頁”;

}

else

{

?

a href=”fenye.php?currentPage=1″首頁/a

a href=”fenye.php?currentPage=?php echo $currentPage-1 ?”上一頁/a

?php

}

if($currentPage == $totalPage)

{

echo ” 下一頁 尾頁”;

}

else

{

?

a href=”fenye.php?currentPage=?php echo $currentPage+1 ?”下一頁/a

a href=”fenye.php?currentPage=?php echo $totalPage ?”尾頁/a

?php

}

?

td

/tr

/table

/body

/html

求php數字分頁演算法

假設。

你只需要顯示當前頁數的前3頁和後3頁。

吶么只有3種可能。

第一個可能,用戶當前點擊的頁數未超過前3頁。需要顯示前7頁(前三頁和後三頁以及當前點擊的頁)省略7頁後面的頁。

第二個可能,用戶點擊的頁數以超過前三頁可是未到尾三頁。那麼就要省略當前頁數的前三頁後三頁之外的所有頁碼。

第三個可能,用戶點擊的頁數以超過尾三頁。那麼就省略最後7頁外的所有頁碼。

這是我寫的分頁碼中算省略頁碼的代碼。

$fornum = 10; //先聲明你要顯示的是幾個頁。

if($totalpage $fornum) //判斷當前的所有頁數是否超過你要顯示的頁。如果沒超過。那就不用費事直接顯示所有頁碼就行叻。 如果超過進入循環。

{

//第一種可能。我這個是只顯示10個頁碼。

if($page=6) //如果當前的頁碼大於等於6.也就是前面的頁碼不用省略。直接省略10個頁碼之後的頁就OK叻。

{

for($i=1; $i = $fornum; $i++)//這就是循環顯示數字頁碼

{

if($page == $i ){

echo ‘a href=”javascript:;” class=”on”‘.$i.’/a’;

}

else{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$i.'” class=”num”‘.$i.’/a’;

}

}

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$totalpage.'” class=”num”…’.$totalpage.’/a’;

}

//注意阿。這不是第二個可能。這是第三個可能。因為第一個和第三個好判斷。而兩個都不滿足吶就是第二個可能叻。所以第二個不用判斷。這個條件也很好解釋。總的頁數減去當前頁數小於等於5的話。那麼就省略最後10頁以外的頁碼。

elseif(($totalpage-$page) = 5)

{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=1″ class=”num”1…/a’;

for($i=$totalpage – ($fornum -1); $i = $totalpage; $i++)//依舊是循環顯示數字頁碼

{

if($page == $i ){

echo ‘a href=”javascript:;” class=”on”‘.$i.’/a’;

}

else{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$i.'” class=”num”‘.$i.’/a’;

}

}

}

//這就是第二個可能叻。第一和第三的條件都不滿足那麼只有前沒到頭後沒著尾的情況叻。所以不用判斷直接顯示當前頁數的前幾頁和後幾頁。頭尾都省略。

else

{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=1″ class=”num”1…/a’;

for($i=$page – 4; $i $page + 5; $i++)//循環顯示數字頁碼

{

if($page == $i ){

echo ‘a href=”javascript:;” class=”on”‘.$i.’/a’;

}

else{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$i.'” class=”num”‘.$i.’/a’;

}

}

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$totalpage.'” class=”num”…’.$totalpage.’/a’;

}

}

//這是最上面的那個if的,如果總頁碼沒超過你要顯示的頁碼就直接顯示所有的頁碼~

else

{

for($i=1; $i = $totalpage; $i++)//仍是循環顯示數字頁碼

{

if($page == $i ){

echo ‘a href=”javascript:;” class=”on”‘.$i.’/a’;

}

else{

echo ‘a href=”‘.$_SERVER[‘PHP_SELF’].’?page=’.$i.'” class=”num”‘.$i.’/a’;

}

}

}

然後就木有叻。首頁尾頁上頁下頁的代碼我就不粘叻。 關於顯示固定頁碼的代碼就是這些。希望你能看懂。打的我手都酸了。。。

php 分頁設置

if($offset) //如果偏移量是0,則沒有上一頁的鏈接

{

$preoffset=$offset-10;

print(“a href=\”$PHP_SELF?offset=$preoffset\”上一頁/a \n”);

//從這裡知道$offset是每次查詢資料庫記錄時的第一條記錄(相對總共10條記錄而言)

}

//計算總共需要的頁數

$page_cnt=ceil($num/10);

//顯示到所有頁的鏈接

for ($i=1; $i=$page_cnt; $i++)

{

$page_offset=10*$i-10;

print(“a href=\”$PHP_SELF?offset=$page_offset\”$i/a \n”);

}

//檢查是否是最後一頁

if ($page_cnt!=0 (($offset+10)/10)!=$page_cnt)

{

$backoffset=$offset+10;

print(“a href=\”$PHP_SELF?offset=$backoffset\”下一頁/a \n”);

}

//頁碼顯示

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242733.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:51
下一篇 2024-12-12 12:51

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python實現爬樓梯演算法

    本文介紹使用Python實現爬樓梯演算法,該演算法用於計算一個人爬n級樓梯有多少種不同的方法。 有一樓梯,小明可以一次走一步、兩步或三步。請問小明爬上第 n 級樓梯有多少種不同的爬樓梯…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論