Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่องการแบ่งการแสดงข้อมูลเป็นหน้า จะเขียนยังไงครับ



 

สอบถามเรื่องการแบ่งการแสดงข้อมูลเป็นหน้า จะเขียนยังไงครับ

 



Topic : 050385



โพสกระทู้ ( 150 )
บทความ ( 3 )



สถานะออฟไลน์
Twitter Facebook



คือ ต้องการทราบว่าถ้าต้องการ Query ข้อมูลมาแสดงเป็นหน้า
สมมติว่าผม Query ออกมาแล้ว มันคำนวนออกมาได้ทั้งหมด 200 หน้า แต่ผมต้องการให้มัน Loop การแสดงหน้าแค่ครั้งละ 10 หน้า ผมจะเขียนยังไงครับ (คือไม่ต้องการให้มันแสดง 200 หน้าพร้อมกันทีเดียว)
Code (PHP)
Total
	<?= $Num_Rows;?>
Record :
	<?=$Num_Pages;?>
Page :
	<?
	if($Prev_Page)
	{
		echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&start=$start&end=$end&status=$status&pay_channel=$pay_channel'><< Back</a> ";
	}

	for($i=1; $i<=$Num_Pages; $i++){
		if($i != $Page)
		{
				echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&start=$start&end=$end&status=$status&pay_channel=$pay_channel'>$i</a> ]";
		}
		else
		{
			echo "<b> $i </b>";
		}
	}
	if($Page!=$Num_Pages)
	{
		echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&start=$start&end=$end&status=$status&pay_channel=$pay_channel'>Next>></a> ";
	}




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-10-18 12:38:41 By : pichitchaip View : 1170 Reply : 3
 

 

No. 1



โพสกระทู้ ( 1,035 )
บทความ ( 0 )



สถานะออฟไลน์


10 หน้าของคุณนี้หมายถึง 10 row หรือป่าวอ่านแล้วงง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-18 12:51:22 By : kanchen
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เอา page ปัจจุบัน

เริ่มต้น = ปัจุุบัน - 10 (ถ้าน้อยกว่า 0 ให้ = 0)
สิ้นสุด = ปัจจุบัน + 10 (ถ้ามากกว่ากว่า max ให้ = max)

แล้วเอาค่านี้ไปใช้ใน loop for ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-18 12:51:50 By : webmaster
 

 

No. 3



โพสกระทู้ ( 47 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

อันนี้เป็นโค้ดที่ผมเคยเก็บไว้ใช้ชั่วคราวถ้าไงลองเอาไปใช้ แล้ว include เข้ามาครับ

วิธีใช้ก็ประมาณ

Code (PHP)
<?php
echo new pageNavigation('gallery.php',$lastpage); // หน้า 1 | 2 | 3  
// ex. <a href='galelry.php?page=1'>1</a>

echo new pageNavigation('gallery.php',$lastpage,array('type'=>'system')); // หน้า 1 | 2 | 3  
// ex. <a href='galelry.php?type=system&page=1'>1</a>

echo new pageNavigation('gallery.php',$lastpage,array('type'=>'system','owner'=>'admin')); // หน้า 1 | 2 | 3  
// ex. <a href='galelry.php?type=system&owner=admin&page=1'>1</a>
?>


หมายเหตุใช้ชั่วคราวนะครับ เพราะเขียนออกมาเห่ยๆแบบเร่งๆ ส่วน$lastpage คิวรี่แล้วหารเอาครับ

Code (PHP)
<?php

$perPage = 10; //จำนวน record ที่ต้องการให้แสดงต่อหน้า
$count = mysql_num_rows($result);
$lastpage = ceil(count/$perPage);

?>


Code (PHP)
<?php
	/*!
	 * Copyright 2010, Manosate Pipatpatama
	 ***********************************************
	 * website: http://labworks.in.th/
	 * facebook: http://facebook.com/manosate/
	 * twitter: http://twitter.com/manosate
	 * 
	 */
	class pageNavigation{
		private $link;
		private $lastPage;
		private $attrs;
		
		function __construct($link, $lastPage, $attrs = array()){
			$this->link = $link;
			$this->lastPage = $lastPage;
			$this->attrs = $attrs;
		}
		
		function __toString(){
			$str = "<div class='page_navigator'>";
			$str.= "<strong>หน้า:</strong>";
			for($page=1; $page<=$this->lastPage; $page++){
				$firstAttr = true;
				$str.= " <a href='".$this->link;
				foreach($this->attrs as $name => $val){
					if($firstAttr){
						$firstAttr = false;
						$str.= '?';
					}
					else $str.= '&';
					
					$str.= $name.'='.$val;				
				}
				
				if($firstAttr){
					$firstAttr = false;
					$str.= '?';
				}
				else $str.= '&';
				
				
				$str.= "page=".$page."'>".$page."</a> ";
				
				if($page<$this->lastPage)
					$str.= " | ";
			}
			$str.= "</div>";
			
			return $str;
		}
	}
?>



ประวัติการแก้ไข
2010-10-18 12:54:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-18 12:52:23 By : manosate
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการแบ่งการแสดงข้อมูลเป็นหน้า จะเขียนยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่