|
|
|
PHP แสดงข้อมูลแบบแบ่งหน้า พอไปหน้า 2 ค่าที่เก็บไว้มันหายไปครับ |
|
|
|
|
|
|
|
เอา html ส่วนที่เป็นลิงค์เพื่อคลิกเปลี่ยนหน้ามาดูด้วยครับ
คอมฯ ต้องมี I/O ถึงจะวิเคราะห์ C ได้
ส่วนตัวอย่างลองค้นหาจากคำว่า pagination
|
|
|
|
|
Date :
2017-07-31 05:48:38 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแก้โค้ดตามนี้แล้วมันแสดงข้อมูลแค่หน้าเดียวครับ มันแสดงแค่
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 .= '&' . http_build_query($query_string_array, null, '&');
}
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณครับ
|
|
|
|
|
Date :
2017-08-01 12:51:49 |
By :
mmc01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|