$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("Test");
$strSQL = "SELECT * FROM UserAddedRecord WHERE (Name LIKE '%".$getname."%' and State LIKE '%".$getstate."%' and Cell LIKE '%".$getcell."%' and Custgroup LIKE '%".$getgroup."%') AND user_id=$id";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 5;
if (!isset($_GET['Page'])) {
$Page = 1;
} else {
$Page = $_GET['Page'];
}
$Prev_Page = $Page - 1;
$Next_Page = $Page + 1;
$Page_Start = (($Per_Page * $Page) - $Per_Page);
if ($Num_Rows <= $Per_Page) {
$Num_Pages = 1;
} elseif (($Num_Rows % $Per_Page) == 0) {
$Num_Pages = ($Num_Rows/$Per_Page) ;
} else {
$Num_Pages = ($Num_Rows/$Per_Page) + 1;
$Num_Pages = (int) $Num_Pages;
}
$strSQL .=" order by addedrec_ID DESC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL) or trigger_error(mysql_error());;
if ($Prev_Page) {
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'><< Back</a> ";
}
for ($i=1; $i <= $Num_Pages; $i++) {
if ($i != $Page) {
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$i&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'>$i</a> ";
} else {
echo "<b> $i </b>";
}
}
if ($Page!=$Num_Pages) {
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtName=$getname&txtState=$getstate&txtCell=$getcell&txtGroup=$getgroup'>Next>></a> ";
}
mysql_close($objConnect);
這是我用來爲數據搜索創建分頁頁面的代碼。但我只注意到我有太多的記錄,那麼它會有太多的頁碼。我試圖限制頁碼顯示,並尋找很多例子..它有很多方法來做到這一點,但我仍然不知道如何限制它爲我的方法...極限分頁頁碼
非常感謝您的示例和所有說明,我現在試圖理解並學習它。 –
很高興幫助。顯然,我只是從代碼中抓住了這個,稍微修改了一下,但結構在那裏,供你玩。 –
這種類型的頁面導航存在的問題是,在'...'範圍的中間很難找到頁面(至少通過點擊)。您可以考慮使用我在[這個問題](http://stackoverflow.com/q/7835752/999120)中描述的方法,即使有1000頁的頁面,也可以通過幾次鼠標點擊輕鬆訪問任何頁面。 – Doin