<?
$PageSize = 10;
$StartRow = 0;
$TRecord = mysql_query($sql, $connection);
$RecordCount = mysql_num_rows($TRecord);
if($RecordCount % $PageSize)
{$CounterEnd = ceil($RecordCount / $PageSize);}
$MaxPage = ceil($CounterEnd);
$i = 1;
$sql = $sql." LIMIT $StartRow,$PageSize";
$sql_result = mysql_query($sql, $connection);
if ($RecordCount > 0 )
{
while($row = mysql_fetch_array($sql_result))
echo "<font class=normal>Page</font> ";
for($c=$CounterStart;$c<=$CounterEnd;$c++){
if($c < $MaxPage){
if($c == $PageNo){
if($c % $PageSize == 0){
echo "<font class=normal>$c </font>";
}else{
echo "<font class=normal>$c ,</font>";
}
}elseif($c % $PageSize == 0){
echo "<a href=index.php?PageNo=$c&searchnm=$searchnm&act_search=$act_search&id_search=$id_search&usersh=$usersh&roomsh=$roomsh class=headerlink>$c</a> ";
}else{
echo "<a href=index.php?PageNo=$c&searchnm=$searchnm&act_search=$act_search&id_search=$id_search&usersh=$usersh&roomsh=$roomsh class=headerlink>$c</a> ,";
}
}else{
if($PageNo == $MaxPage){
echo "<font class=normal>$c </font>";
break;
}else{
echo "<a href=index.php?PageNo=$c&searchnm=$searchnm&act_search=$act_search&id_search=$id_search&usersh=$usersh&roomsh=$roomsh class=headerlink>$c</a> ";
break;
}
จากโคทตอนนนี้เว็บแสดงจำนวนหน้าแบบนี้
Page 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 21
ผมต้องการให้มันขึ้นหน้าใหม่แบบนี้อ่ะคับ
Page : 1 2 3 4 5 6 7 8 9 10 ... 21 Next
รบกวนช่วยดูทีนะคับ
Sat 30 Dec 2006 18:54:15
เคยเห็นในหนังสือเล่มนี้นะครับ พอดีว่าเป็นคนบ้านเดียวกันแนะนำให้เค้า ลองไปแอบศึกษาดูเองนะครับ
http://www.se-ed.com/eshop/BookDetail.aspx?keyword=9789742120979
Sun 31 Dec 2006 21:46:07
Thu 3 Jul 2008 16:20:08
<?php
error_reporting(E_ALL^E_NOTICE); //ตั้งค่ารายงาน error
$dbserver='localhost';
$dbuser='root';
$dbname='dbname';
$dbpass="";
$pagelen=10; //กำหนดให้แสดงกี่เรคอร์ดต่อหนึ่งหน้าจอ
//รับหมายเลขหน้า PageNumber มาจากวิธี GET (ผู้ใช้คลิกเพื่อเปิดหน้าใดๆ)
$page = $_GET['page'];
if(empty($page)) { $page=1; } //กรณียังไม่มีการเลือกหน้า ให้กำหนดค่า 1 เพื่อเปิดหน้าแรก
mysql_connect($dbserver, $dbuser, $dbpass) or die("เชื่อมต่อฐานข้อมูลไม่ได้");
mysql_query("set NAMES tis620"); //เลือกภาษา
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
//เลือกข้อมูลมาเพื่อคำนวณหาจำนวนหน้า (เอามาพียงฟิลด์เดียว เพื่อให้ MySQL ทำงานได้เร็วที่สุด)
$sql="SELECT id from tbname";
$result=mysql_query($sql);
$num_rows = mysql_num_rows($result); //จำนวนเรคอร์ดที่มี
$totalpage=ceil($num_rows / $pagelen); //คำนวนหาจำนวนหน้าทั้งหมดว่ามีกี่หน้า
$goto= ($page-1) * $pagelen; //คำนวณหาหมายเลขเรคอร์ดที่จะให้เริ่มเปิด
$sql = "SELECT * From tbname LIMIT $goto , $pagelen "; //ข้อมูลหน้าที่ต้องการ
$result = mysql_query( $sql);
$num_rows = mysql_num_rows($result); //จำนวนเรคอร์ดที่จะแสดงสำหรับหน้านั้น ๆ
?>
-------------------------------------------------------------------------------------
<? echo"<br />"; ?>
<?
echo "หน้า: $page/$totalpage "; //แสดงข้อมูล
echo " ไปที่หน้า: "; //แถบเมนูลิงค์เปิดหน้า [First] กลับไปหน้าแรก [Back] ย้อนกลับ
if ($page > 1) { //ถ้าอยู่หน้า 1 อยู่แล้ว ไม่ต้องแสดงลิงค์ [Frist] หรือ [Back]
$back = $page - 1;
echo "<a href=$PHP_SELF?page=1>หน้าแรก</a> | "; //ลิงค์กลับไปหน้าแรก
echo "<a href=$PHP_SELF?page=". $back ."><img src=../image/prev.gif border=0 align=absmiddle alt=Previous></a>"; //ลิงค์ย้อนกลับ
}
//แสดงเมนูลิงค์เลขหน้า เพื่อให้คลิกกระโดดไปหน้าใด ๆ ได้โดยตรง
for ($i=1 ; $i<=$totalpage ; $i++) { //วนรอบตั้งแต่ 1 ไปจนครบจำนวนหน้าที่มี
if ($i == $page ) { //ถ้าเป็นหน้าที่กำลังเปิดอยู่ เมนูเลขหน้าไม่ต้องเป็นลิงค์
echo " [<b><font size=+1 color=#FF0000>$i</font></b>] "; //เน้นให้เห็นชัดขึ้น
} else { //ถ้าไม่ใช่หน้าที่กำลังเปิดอยู่ เมนูเลขหน้าต้องเป็นลิงค์ให้คลิก
echo "<a href=$PHP_SELF?page=$i>$i</a>"; //ส่งเลขหน้าที่จะเปิดไปทาง GET
}
} //จบ for
//แสดงลิงค์ หน้าถัดไป หรือหน้าสุดท้าย
if ($page < $totalpage) { //ถ้าอยู่หน้าสุดท้ายอยู่แล้ว ไม่ต้อแสดงลิงค์
$next = $page +1;
echo "<a href=$PHP_SELF?page=".$next."><img src=../image/next.gif border=0 align=absmiddle alt=Next></a>"; //ลิงค์เปิดหน้าถัดไป
echo "| <a href=$PHP_SELF?page=".$totalpage."> หน้าสุดท้าย</a>"; //ลิงค์หน้าสุดท้าย
}
?>

















