พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / ช่วยดูโค้ทแบ่งหน้าให้ทีคับ
meejojo
Tue 26 Dec 2006 18:40:22

<?

$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

รบกวนช่วยดูทีนะคับ

Davinci
Davinci
Sat 30 Dec 2006 18:54:15

เคยเห็นในหนังสือเล่มนี้นะครับ พอดีว่าเป็นคนบ้านเดียวกันแนะนำให้เค้า ลองไปแอบศึกษาดูเองนะครับ

http://www.se-ed.com/eshop/BookDetail.aspx?keyword=9789742120979

Davinci
Davinci
Sun 31 Dec 2006 21:46:07
โทษทีครับผมจำผิด...คนละเล่มกัน ทิ้งเมลไว้เดี๋ยวผมส่งไปให้แล้วกัน
tum
tum
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 "&nbsp;ไปที่หน้า: ";  //แถบเมนูลิงค์เปิดหน้า [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>";  //ลิงค์หน้าสุดท้าย
 }
 ?>

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login