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 > ต่อเนื่องจากเรื่องเก่าครับ การใช้คำสั่ง Limit ในการกำหนดจำนวนสินค้าต่อ 1 หน้า



 

ต่อเนื่องจากเรื่องเก่าครับ การใช้คำสั่ง Limit ในการกำหนดจำนวนสินค้าต่อ 1 หน้า

 



Topic : 060447



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



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



คือการทำงานจะแบ่งออกเป็น 2 หน้า ซึ่งมันแปลก และอยากให้จบหน้าเดียวครับ แบบที่ทำอยู่คือ กดรับข้อมูล จากหน้าแรกว่าจะให้โชว์สินค้ากี่ชิ้น ข้อมูลต่อ 1 หน้า ถามเลยว่าแบบนี้คือวิธีปกติหรือเปล่าครับ?

แล้วแบบอื่น ที่ใช้ ค่า Get รับมานี่เค้าทำกันยังไงครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-05-20 15:20:59 By : ALTELMA View : 1412 Reply : 7
 

 

No. 1



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



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

ก็ทำหลักการเดียวกับการส่งค่าหน้าแหล่ะครับ ถ้าคุณเขียนโค๊ดแบ่งหน้าได้ ก็แค่ส่งจำนวนที่ต้องการแสดงผลต่อหน้าไปเพิ่มต่อท้ายกับหน้า
เช่น page: <a href="?p=1&perpage=20">1</a> ก็เป็นให้เปิดหน้าเดิม หน้าที่ 1 แสดงผล 20 รายการต่อหน้า ซึ่งเปลี่ยนจากที่คุณส่งไปหน้าอื่นให้ส่งมาที่หน้าเดิมนี่แหล่ะจะได้ไม่ต้องเขียนโค๊ดเพิ่ม แค่รับค่าเพิ่มก็พอ ในเมื่อคุณส่งไปหน้าอื่นได้ น่าเดิมคุณก็หน้าจะรับค่าได้เช่นกัน
มันหน้าจะดีกว่าทำหลายหน้านะ

ผมก็ไม่รู้ว่าคุณเขียนอะไรได้แค่ไหนนะ
สำหรับการ รับค่าโดยการ get https://www.thaicreate.com/php/php-get.html







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-20 16:22:39 By : chineji
 


 

No. 2



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



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

ครับ แล้วถ้ามีการกำหนด ให้เลือกได้ ว่าการแสดงหน้ามี 20/50/100/200
ผมจะส่งค่าไปยังไงครับ? ผมถามกว้างไปหรือเปล่า?

โค้ดเบื้องต้น
Code (PHP)
<?php
	include("include/connect_db.php");
	include("include/my_dateformat.php");
	if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
	$prev_page = $page-1;
	$next_page = $page+1;
	$start_from = ($page-1) * 14;
	$sql = "SELECT * FROM product  ORDER BY date_post2 DESC LIMIT $start_from , 14";
	$rs_result = mysql_query($sql); 
?> 


Code (PHP)
<?php
$a++;
echo"</td>";
if(($i)%2==0)
	{
	echo"</tr>";
	}
	else
	{
	echo"<td>";
	}
}
echo"</tr></table>";
?>

 <?php 
	$sql = "SELECT COUNT(product_ID) FROM product"; 
	$rs_result = mysql_query($sql); 
	$row = mysql_fetch_row($rs_result); 
	$total_records = $row[0]; 
	$total_pages = ceil($total_records / 14);
	$IntRankPage = 3;
	$LastShowPage = $page + $IntRankPage;
	$FirstShowPage = $page - $IntRankPage;
	$first_page = 1;
	$last_page = $total_pages;
	if($LastShowPage > $total_pages){$LastShowPage = $total_pages;}
	if($FirstShowPage < 1){$FirstShowPage = 1;}
?>
<form id="go2Page" name="go2Page" method="post" action="promotion_list_Limit.php">
     <div class="clr"></div>
     <div class="float-right" style="padding-top:5px"><span class="gray-small">&nbsp;&nbsp;|&nbsp;&nbsp;<strong>goto</strong>&nbsp;</span><input name="page" type="text" class="gray-small" style="height:12px; width:20px" maxlength="3" />
     &nbsp;<a href="#"><input type="image" src="images/template/searchpage_but.gif" name="page_search" width="17" height="17" border="0" id="page_search" /></a></div>
</form>
            <div class="page-number">
            <table align="right">
      <tr>
          <?
if($total_records >= "14") {
	if($page > 1){echo "<td><a href='$_SERVER[SCRIPT_NAME]?page=$first_page'>First</a></td>";}
	if($prev_page){echo "<td><a href='$_SERVER[SCRIPT_NAME]?page=$prev_page'><< Back</a></td>";} //ลิ้งค์ย้อนกลับไป 1 หน้า
		for ($i=$FirstShowPage; $i<=$LastShowPage; $i++) { 
			if($page==$i) {
				echo "<td><a href='product_list.php?page=".$i."' class ='select'>".$i."</a> </td>"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
			}else{
				echo "<td><a href='product_list.php?page=".$i."' class =''>".$i."</a> </td>"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
			}
		}
	if($page!=$total_pages){
	echo "<td><a href='$_SERVER[SCRIPT_NAME]?page=$next_page'>Next >></a></td>";
	echo "<td><a href='$_SERVER[SCRIPT_NAME]?page=$last_page'>Last</a></td>";
	} // ลิ้งค์เลื่อนถัดไป 1 หน้า
}
?>



คือผมติดตอนที่จะส่งค่าที่กำหนดไปต่อท้ายน่ะครับ ว่าต้องทำยังไง? แนะนำทีครับ

ขอบคุณครับ


ประวัติการแก้ไข
2011-05-21 09:16:29
2011-05-21 09:22:52
2011-05-21 09:22:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-21 09:09:48 By : ALTELMA
 

 

No. 3



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

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

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

Quote:
$_SERVER[SCRIPT_NAME]?page=$next_page


Code (PHP)
$_SERVER[SCRIPT_NAME]?page=$next_page&var=$value

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-21 10:00:33 By : webmaster
 


 

No. 4



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



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

ก็ทำตามพี่วิน
แล้วก็เพิ่มนิดหน่อย คือตอนคลิกเลือกว่าแสดงผลกี่หน้าก็ให้มันลิงค์รีเฟรชลิงค์มาที่หน้าเดิม แต่ต้องส่งตัวแปรจำนวนเรคคอร์ดที่ต้องการแสดงผลต่อหน้ามาด้วย เช่น &perpage=20
จากนั้นก็ รับค่ามาแทนที่
Code (PHP)
$start_from = ($page-1) * 14;

เป็น
if((int)$_GET['perpage']>0){
    $perpage=(int)$_GET['perpage'];
    $urlPerpage="'&perpage=$perpage";  //เอาไว้ใส่ลิงค์กรณีรับค่าจำนวนเรคคอร์ดต่อหน้า
else{
   $perpage=14;
   $urlPerpage='';  //กรณีไม่ได้คลิกเลือกจำนวนเรคคอร์ดต่อหน้าก็จะไม่ส่งค่าตัวแปรไปด้วย
}
$start_from = ($page-1) * $perpage;

Code (PHP)
$_SERVER[SCRIPT_NAME]?page=$next_page.$urlPerpage


เอาไปปรับใช้กับคุกกี้เพิ่มเติมเอาเองนะหรือจะใช้แบบนี้ก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-21 18:54:21 By : chineji
 


 

No. 5



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



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

คำสั่ง รีเฟรชหน้าแล้ว ให้กลับมาที่เดิม ผมลองใช้ Header แล้วไม่ได้ มีอันไหนให้ใช้ได้บ้างครับ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-23 12:57:22 By : ALTELMA
 


 

No. 6



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



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

Quote:
คำสั่ง รีเฟรชหน้าแล้ว ให้กลับมาที่เดิม ผมลองใช้ Header แล้วไม่ได้ มีอันไหนให้ใช้ได้บ้างครับ?

Code (JavaScript)
window.location.reload();

Code (PHP)
echo "<meta http-equiv=\"refresh\" content=\"$time;url=$link\">\n";
//เช่น echo "<meta http-equiv=\"refresh\" content=\"3;url=index.php\">\n";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-24 11:48:26 By : chineji
 


 

No. 7



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



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

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-24 13:02:57 By : ALTELMA
 

   

ค้นหาข้อมูล


   
 

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