Ajax List Record Paging/Pagination แบ่งหน้า AJax มันแสดงจำนวนหน้าออกมาทั้งหมด เราจะกำหนดให้แสดงแค่ 5 ออกมาก่อนพอเลื่อน next ค่อยเปลี่ยน
ในตัวอย่างมันก็ Next ได้น่ะครับ
Date :
2009-12-22 10:08:53
By :
webmaster
ใช่คับพี่ แต่ว่าถ้าหากเพจมันมีทั้งหมด 38 หน้า มันจะแสดงออกมาทั้งหมด ถ้าหากว่าเราจะจำกัดมันแค่ 5 เพจ หรือ 10 เพจก่อนประมาณนี้อ่ะคับ
Date :
2009-12-22 10:19:48
By :
ความรู้เท่าหางอึ่ง
แบบนี้อ่ะคับ
Date :
2009-12-22 10:21:43
By :
ความรู้เท่าหางอึ่ง
หุ ๆ
Date :
2009-12-22 11:25:57
By :
ความรู้เท่าหางอึ่ง
AjaxPHPListRecordPaging2.php
Code (PHP)
<?php
/*** By Weerachai Nukitram ***/
/*** http://www.ThaiCreate.Com ***/
$strPage = $_POST["myPage"];
$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
$objDB = mysql_select_db("phithan_cmi");
$strSQL = "SELECT * FROM tbl_province";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 2; // Per Page
$Page = $strPage;
if(!$strPage)
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
/// ตรงนี้อ่ะคับ ผมยัง งง ๆ อยู่ ครับ //////////////////////////////// 111
$LimitLinksEndCount = 5;
$temp = $Page + 1;
$startLink = max(1,$temp - intval($LimitLinksEndCount/2));
$temp = $startLink + $LimitLinksEndCount - 1;
$endLink = min($temp, $Num_Pages + 1);
if($endLink != $temp) $startLink = max(1,$endLink - $LimitLinksEndCount + 1);
//////////////////////////////////////////////////////
$strSQL .=" order by province_id ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">จังหวัด</div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["province_name"];?></div></td>
</tr>
<?
}
?>
</table>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href=\"JavaScript:doCallAjax('$Prev_Page')\"><< Back</a> ";
}
/*for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href=\"JavaScript:doCallAjax('$i')\">$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
*/
/// ตรงนี้อ่ะคับ ผมยัง งง ๆ อยู่ ครับ //////////////////////////////// 222
for ($i = $startLink; $i <= $endLink; $i++) {
$LimitPageEndCount = $i -1;
if($i != $Num_Pages) {
echo "[ <a href=\"JavaScript:doCallAjax('$LimitPageEndCount')\">$LimitPageEndCount</a> ]";
}else{
echo "<strong>$i</strong>";
}
if($i != $endLink) echo("");}
//////////////////////////////////////////////////////
if($Page!=$Num_Pages)
{
echo " <a href=\"JavaScript:doCallAjax('$Next_Page')\">Next >></a> ";
}
mysql_close($objConnect);
?>
Date :
2009-12-22 11:41:38
By :
ความรู้เท่าหางอึ่ง
ขุด ๆ เผื่อมีคนตอบให้
Date :
2009-12-22 13:31:12
By :
ความรู้เท่าหางอึ่ง
Load balance : Server 05