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,027

HOME > PHP > PHP Forum > PHP แสดงข้อมูลแบบแบ่งหน้า พอไปหน้า 2 ค่าที่เก็บไว้มันหายไปครับ



 

PHP แสดงข้อมูลแบบแบ่งหน้า พอไปหน้า 2 ค่าที่เก็บไว้มันหายไปครับ

 



Topic : 128422



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



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




PHP แสดงข้อมูลแบบแบ่งหน้า พอไปหน้า 2 ค่าที่เก็บไว้มันหายไปครับ การแสดงข้อมูลต้องรับค่าชนิดนี้มาเพื่อ query แบบนี้ครับ
Code
$catId = 0;
$catId = (isset($_GET['c']) && $_GET['c'] != '1') ? $_GET['c'] : 0;


ต้อง select ข้อมูล แบบนี้ครับ

Code
$sql = "SELECT pd_id, pd_name, pd_price, pd_qty
FROM tbl_product WHERE cat_id = $catId";


พอเปลี่ยนหน้าไปหน้า 2 มันไม่แสดงไรเลยครับ ผมคิดว่าพอกดหน้า 2 $catId คงไม่มีข้อมูลก็เลยลองเก็บใน session แบบนี้ครับ

Code
if($_SESSION["$catId"]!=0)
{
$catId = $_SESSION["$catId"];
}


แต่พอกดไปหน้า 2 ก็ยังไม่มีข้อมูลครับเหมือนรับค่า 0 มาใส่ $catId อยากทราบว่าการเก็บข้อมูลมา query แบ่งหน้าต้องทำยังไงครับ



Tag : PHP









ประวัติการแก้ไข
2017-07-31 02:10:27
2017-07-31 02:12:10
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-07-31 02:03:25 By : mmc01 View : 1517 Reply : 5
 

 

No. 1



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



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


เอา html ส่วนที่เป็นลิงค์เพื่อคลิกเปลี่ยนหน้ามาดูด้วยครับ

คอมฯ ต้องมี I/O ถึงจะวิเคราะห์ C ได้

ส่วนตัวอย่างลองค้นหาจากคำว่า pagination






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-07-31 05:48:38 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


https://www.thaicreate.com/php/forum/122621.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-07-31 10:02:10 By : mr.v
 

 

No. 3



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



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


ลองแก้โค้ดตามนี้แล้วมันแสดงข้อมูลแค่หน้าเดียวครับ มันแสดงแค่

Displaying page 1 of 1
1

แค่นี้ครับไม่มีหน้า 2 และอยากใส่ปุ่ม Next และ First, Last ด้วยครับ ข้อมูลมี 10 รายการแต่กำหนดให้แสดงหน้าละ 6 รายการครับ

Code (PHP)
<?php

require_once 'include/header.php';

require 'Rundiz/Pagination/Pagination.php';

$catId = 0;		//กำหนดค่ารหัสประเภทสินค้าเป็น 0 ก่อน 
if(isset($_GET['c'])){
	$catId= $_GET['c'];		//เมื่อมีการส่งรหัสประเภทสินค้ามาให้เก็บเข้าตัวแปร $catId
}


  ?>
  

  <div class="panel-body">


<div class="row">

<?php
	


$sql = "SELECT pd_id, pd_name, pd_price, pd_qty 
		FROM tbl_product WHERE cat_id = $catId";

$result     = dbQuery($sql);

$total_records = dbNumRows($result);	//Number product from query
$start = (isset($_GET['start']) ? intval($_GET['start']) : 0);
if ($start < 0) {
    $start = 0;
}
$limit = 6;// แสดงหน้าละ 6 รายการ
$offset = $start;

// query อีกครั้ง คราวนี้ให้กำหนด LIMIT, OFFSET ได้
$result->free();
$sql .= ' LIMIT '.$limit.' OFFSET '.$offset;
$result =dbQuery($sql);
if ($result === false) {
    printf("Error: %s\n", $mysql->error);
    exit;
}
unset($sql);

// เสร็จส่วนของ mysql แล้ว ปิดไปเลย ประหยัดแรมครับ
//$mysql->close();
unset($mysql);

// กำหนด base_url สำหรับใช้ในการสร้างลิ้งค์แบ่งหน้า
// ส่วนนี้กับงานจริงๆของคุณต้องดูรายละเอียดอีกทีนะครับ
$base_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?start=%PAGENUMBER%';
// รับค่า query string หรือ method GET อื่นๆมาใช้นอกจาก ?start= 
// เช่นกรณีที่คุณแสดงรายการแล้วมีฟอร์มให้ filter ได้ก็ไม่ควรให้ผู้ใช้มานั่ง filter ใหม่ทั้งหมด ก็ทำตรงนี้ไป หรือไม่เอา ก็ลบส่วนนี้ออก
$query_string_array = array();
if (isset($_GET) && is_array($_GET)) {
    foreach ($_GET as $key => $value) {
        if ($key != 'start') {
            $query_string_array[$key] = $value;
        }
    }// endforeach;
    unset($key, $value);
}
if (!empty($query_string_array)) {
    $base_url .= '&amp;' . http_build_query($query_string_array, null, '&amp;');
}
unset($query_string_array);

// เริ่มเรียกใช้ class Pagination.
$Pagination = new \Rundiz\Pagination\Pagination();
// กำหนดค่าต่างๆให้ class ด้านล่างนี้เลย รวมถึงการแสดงผลด้วย (ขอให้ดูเพิ่มเติมจากหน้าเอกสาร API)
$Pagination->base_url = $base_url;// *ค่า property นี้ต้องกรอก.
$Pagination->total_records = $total_records;// *ค่า property นี้ต้องกรอก.
$Pagination->page_number_value = $start;// *ค่า property นี้ต้องกรอก.

if ($total_records > 0 ) {

	while ($row = dbFetchAssoc($result)) {
?>
	
	<div class="col-xs-6 col-sm-4"> 
<?php
		extract($row);
		
		$sql_img = "SELECT product_thumbnail, product_image
		FROM tbl_product_images
		WHERE product_id = $pd_id ORDER BY id_product_image";
		
		$res_img =dbQuery($sql_img);
		$row_img = dbFetchAssoc($res_img);
		$pd_image = $row_img['product_thumbnail'];
		
		if ($pd_image) {
			$pd_image = WEB_ROOT . 'images/product/' . $pd_image;
		} else {
			$pd_image = WEB_ROOT . 'images/no-image-small.png';
		}
		
		$u = clean($pd_name);
		
		echo "<section align=\"center\" style=\"padding:5px;\" class=\"thumbnail\">
		<div itemscope itemtype=\"http://schema.org/Product\">
			<a href=\"productDetail.php?pdId=$pd_id&key=$u\" id=\"product-$pd_id\" class=\"show-detail-product\">
				<img itemprop=\"image\" alt=\"$pd_name\" src=\"$pd_image\" border=\"0\" class=\"img-rounded\">
				<h2><span itemprop=\"name\">$pd_name</span></h2></a><span hidden id=\"category-$cat_id\" class=\"hidden-cat-product\"></span>
				</div>
				";


		if ($pd_qty > 0) {
?>
		<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
			<span itemprop="price" content="<?php echo displayAmount($pd_price); ?>">ราคา : <?php echo displayAmount($pd_price); ?></span>
        </div>
        <br>

			<button type="button" name="btnAddToCart" class="btn btn-primary btn-xs add-to-cart" id="cart-<?php echo $pd_id; ?>" style="margin-bottom:10px;">
				<span class="glyphicon glyphicon-shopping-cart"></span>ใส่ตะกร้า
			</button>
<?php
		} else {
?>
			<span style="text-decoration:line-through;color:#818181;">ราคา : <?php echo displayAmount($pd_price); ?></span><br>
			<button type="button" class="disabled btn btn-danger btn-xs" style="margin-bottom:10px;">สินค้าหมด</button>
<?php
		}
		echo "</section></div>";
		
	} //end while
        $result->free();
        unset($item, $result);
		echo $Pagination->createLinks();
		
} else {
?>
	<div class="col-md-12">
		<section width="100%" align="center" valign="center"><div class="alert alert-info">ยังไม่มีสินค้าในหมวดหมู่นี้</div></section>
	</div>
<?php	
}	
?>

</div>
	
	</div>
</div>




ตรงที่ $_GET['c']; รับค่า id ชนิดของสินค้ามาจาก หน้าอื่นแบบนี้ครับ
Code
<a href="../list.php?c=<?php echo $cat_id; ?>



ประวัติการแก้ไข
2017-07-31 23:41:16
2017-07-31 23:41:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-07-31 23:40:19 By : mmc01
 


 

No. 4



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : mmc01 เมื่อวันที่ 2017-07-31 23:40:19
รายละเอียดของการตอบ ::
echo $total_records ได้เท่าไหร่ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-01 10:44:21 By : mr.v
 


 

No. 5



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



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


ได้แล้วครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-01 12:51:49 By : mmc01
 

   

ค้นหาข้อมูล


   
 

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