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 > โค้ดแบ่งหน้า ย่อจำนวนหน้าไม่ได้ค่ะ เวลาที่หน้า page เยอะๆ รบกวนช่วยหน่อยนะคะ



 

โค้ดแบ่งหน้า ย่อจำนวนหน้าไม่ได้ค่ะ เวลาที่หน้า page เยอะๆ รบกวนช่วยหน่อยนะคะ

 



Topic : 073116



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



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




มันจะขึ้นหน้ายาวไปเรื่อยๆเลยค่ะ อยากได้แบบ " หน้า 1 2 3 ... 20 21 " ประมาณนี้อ่าค่ะ

อันนี้คือปัจจุบันที่เขียนอยู่ค่ะ เลขหน้าจะยาวไปเรื่อยๆ
sdfwerwer


อยากได้แบบด้านล่างอ่าค่ะ ลองดูโค้ดของทาง ด้านล่างแล้วค่ะ
https://www.thaicreate.com/community/php-mysql-pagination.html
แต่ว่าไม่รู้ว่าต้องเขียนอะไรเพิ่มตรงไหน เขียนแทรกไปตรงไหน รบกวนท่านผู้รู้ข่วยหน่อยนะคะ ขอบคุณค่ะ

โค้ดตอนนี้ค่ะ ต้องเพิ่มตรงไหนคะ
<?php
	session_start();
	include ("connect/connect.inc");
	
	//จำนวนรายการต่อหน้า
	$perpages = 2;

	//รับค่าที่ได้จากการกดลิงค์หน้าต่างๆ
	$gpages = $_GET["pages"];
	
	//ถ้าไม่ได้คลิกหน้าใดๆ (โหลดไฟล์นี้ครั้งแรก) หรือคลิกที่หน้า 1
	if (empty($gpages) || $gpages == 1)
	{
		//ให้หน้าที่คลิกคือหน้า 1
		$gpages = 1;
		//$numpiece คือ ลำดับที่เริ่มต้นของสินค้า เช่น เริ่มต้นจากลำดับที่ 5 ก็ให้ $numpieces = 5;	
		//ให้ลำดับเริ่มต้นคือ 0 เพราะรายการแรกเริ่มจาก 0 (gpages เท่ากับ 1 แล้วลบด้วย 1 ที่ลบด้วย 1 เพราะรายการแรกคือ 0 อย่างที่ได้อธิบายไว้แล้วด้านหน้า)
		$numpiece = $gpages - 1;
	}
	else
		//ให้รายการเริ่มต้น คือ หน้าที่กดลิงค์ ลบด้วย 1 คูณด้วยจำนวนต่อหน้า สมมติ หน้าที่คลิกคือ 3 ลบด้วย 1 คูณด้วย 2 เพราะฉะนั้นรายการเริ่มต้นคือ 4
		$numpiece = ($gpages - 1) * $perpages;
	
	//เรียกข้อมูลสินค้าขึ้นมาเพื่อนับจำนวนสินค้า และสร้างลิงค์ให้เลือกหน้า ซึ่งในที่นี้กำหนดหน้าละ 2 รายการ
	//$table = mysql_query("SELECT * FROM goods") or die ("Query Error : SELECT goods, types <" . mysql_error() . ">");	
	$table = mysql_query("SELECT * FROM insight") or die ("ไม่สามารถเรียกดูข้อมูลทั้งหมดได้" . mysql_error());	

	//นับจำนวนเร็คคอร์ดที่ select ขึ้นมาทั้งหมด
	$countrecord = mysql_num_rows($table);
	//เอาจำนวนเร็คคอร์ดทั้งหมดหารด้วยจำนวนรายการต่อหน้า เพื่อที่จะได้หาจำนวนหน้าทั้งหมด
	$divide = $countrecord / $perpages;
	//เอาจำนวนเร็คคอร์ดทั้งหมดหารเอาเศษด้วยจำนวนรายการต่อหน้า ถ้ามีเศษแสดงว่ายังมีอีก 1 หน้า
	$mod = $countrecord % $perpages;
	
	$numberno = ((floor($divide) - ($gpages - 1)) * $perpages) + $mod; 
	
	//ถ้ามีเศษแสดงว่ายังมีอีก 1 หน้า ก็ให้ค่า mod เท่ากับหนึ่ง เพื่อที่จะนำไปบวกกับจำนวนหน้าทั้งหมด เพื่อที่จะได้ลำดับที่ของหน้าที่สมบูรณ์	
	if ($mod != 0)	
		$mod = 1;
	//สร้างลิงค์ของหน้า
	for ($loop=1;$loop<=$divide + $mod; $loop++)
	{
		//เปรียบเทียบว่าหน้าที่กดลิงค์มาเท่ากับค่าในลูปหรือไม่ ถ้าเท่ากันแสดงว่าเป็นหน้าปัจจุบัน ก็ไม่ต้องสร้างลิงค์
		if ($gpages == $loop)
			//เมื่อไม่ต้องสร้างลิงค์ก็ให้ใส่ [ ] พร้อมกับตัวเลข เช่น [3]
			$listpages .= "[" . $loop . "]&nbsp;";
		else
			//แต่ถ้าค่าในลูปไม่เท่ากับหน้าที่กดลิงค์มาก็ให้สร้างลิงค์ด้วย
			$listpages .= "<a href=\"insight.php?pages=" . $loop . "\" target=\"_parent\">" . $loop . "</a>&nbsp;";
	}
	
	
	
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="title" content="" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" language="JavaScript1.2" src="popup.js"></script>
</head>

<body>

<div id="container">
  
	<div id="head">
	  <div id="header-left" style="font-size:24px; font-family:Arial, Helvetica, sans-serif; color: #e46c0a; line-height: 80px; font-weight: bold;">
      <div style=" float: left;">
      
    <span>Insights and Publications</span>
    </div>
    </div>
   
    <div id="header-right" style="text-align: right;">
    <img src="images/logo.png" width="190" height="65" alt="" />
	</div>
    <span style="padding-top: 15px; "><img src="images/line.png" width="1000" height="3" alt="" /></span>
    </div>
    
    
    
<br class="clearboth" />
   
    <div id="bodymain">
    <div id="body-left" style="font-size: 16px;">
    <div style=" float: left;"> 
    
    <span style="font-size: 18px;">Search for Publications</span>

    </div>
    
    <div style="padding-top: 30px; font-size: 16px;">
 <table width="500" border="0" align="center" cellspacing="1">
<tr> 
                  <?
    if (!empty($_SESSION["sessfirstname"])) 
    {
?>
    <td colspan="6"> <div align="center">| <a href="javascript:popup_update('addinsight.php')">Add New!</a> |<br />
    
    
    <br /></div>
      </td>
      <?
    }
    ?>
  </tr>
  </table>
	<?php
	
$tbfiles = mysql_query("SELECT * FROM insight ORDER BY inid DESC LIMIT $numpiece, $perpages ") or die("ไม่สามารถเรียกดูข้อมูลได้" . mysql_error()); 
echo"<table border=\"0\" width=\"400px;\"  cellspacing=\"1\" cellpadding=\"1\"><tr>";	
	$intRows = 0;
while($rwfiles = mysql_fetch_array($tbfiles))
	{
	
		$intRows++;
		$fdfilesid = $rwfiles["inid"];
		$fdname = $rwfiles["incat"];
		$fddatebook = $rwfiles["indate"];
		$fdtitle = $rwfiles["intitle"];
		$fdlink = $rwfiles["inlink"];
		$fddescription = $rwfiles["indetail"];
		$fdfilesname = $rwfiles["filesname"];
		
		echo "<td>";

		?>
        <table border="0" width="650px;" cellspacing="1" cellpadding="1" align="top" >
        
        <tr>
        	<td  width="60" rowspan="4"><?php echo "<a href=\"$fdlink\" target=\"_blank\"><img src=\"insight/$fdfilesname\" width=\"60px;\" height=\"90px;\" border=\"1\" align=\"top\" ></a></td>
			
			<td width=\"361\"></td></tr>
			<tr><td > </td></tr>
			<tr><td ></td></tr>
			<tr><td><span style=\" font-weight: bold;  \">$fdname </span> <br /><span>$fddatebook</span> <br /><span class=\"insighttext\" style=\" font-weight: bold; font-style: italic;\"><a href=\"$fdlink\" target=\"_blank\">$fdtitle</a></span></td></tr>
			<tr><td></td>
   				   <td><span style=\"margin: 0px; padding: 0px;\">$fddescription</span></td></tr><br /><br />" ;


   			if ($_SESSION["sessfirstname"] == "admin") 
		   {
				echo "<td align=center width=\"50px;\"><a href=javascript:popup_update('editinsight.php?id=$fdfilesid')>แก้ไข</a></td>
					  <td align=center width=\"50px;\"><a href=\"deleteinsight.php?id=$fdfilesid\" onclick=\"confirmdelete($fdfilesid, '$fdfilesname');\">ลบ</a></td>" ;

		   }
			echo "</tr></table>";				 

		echo"</td>";
		if(($intRows)%1==0)
		{
		echo"</tr>";
		}
		else
		{
		echo "<td>";
		}	
	}
	echo"</tr></table>";
	?>

      <br />         
                <!-- ตัวเลขให้เลือกหน้า -->
                  <?php echo "<div style=\"text-align: center;\">หน้า " . $listpages . "</div>"; ?>     
    </div>
    
    
    </div>
    
    <div id="body-right1">
    
    <?php
			require("menu.php");
	?>

	</div>


    
  
			 
  </div>
			</div>
                        <?php
	include("connect/disconnect.inc");
?>

    
    </div>
    </div>
    
    
    <br class="clearboth" />
    
  </div>
</div>
</div>
</body>
</html>




Tag : PHP, MySQL









ประวัติการแก้ไข
2012-02-02 15:10:25
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-02 15:09:15 By : arnevcoze77 View : 4011 Reply : 2
 

 

No. 1



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

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

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



Go to : PHP MySQL Pagination ทำแบ่งหน้าด้วย PHP กับ MySQL ย่อจำนวนหน้า ในกรณีที่มีจำนวนหน้าเยอะ ๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 17:09:52 By : webmaster
 


 

No. 2



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



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

ขอบคุณค่ะ หามานานแล้ว ^___^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-10 11:25:33 By : ออมฤทัย
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : โค้ดแบ่งหน้า ย่อจำนวนหน้าไม่ได้ค่ะ เวลาที่หน้า page เยอะๆ รบกวนช่วยหน่อยนะคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่