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 > รบกวนพี่ๆดูโค้ดแบ่งหน้าให้ทีครับ พอดีข้อมูลแบ่งออกมาเกินตามที่กำหนดไว้ครับ



 

รบกวนพี่ๆดูโค้ดแบ่งหน้าให้ทีครับ พอดีข้อมูลแบ่งออกมาเกินตามที่กำหนดไว้ครับ

 



Topic : 135115



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



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



พอดีเวลาแบ่งหน้า หน้าแรกแสดงข้อมูลตามโค้ดคือ 12 ชิ้น
แต่พอกดหน้าที่ 2 ข้อมูลมันเกิน 12 ชิ้น
กดหน้าที่ 3 ก็ เกินจาก 12 ชิ้นไปอีกครับ
-----
Code
<?
include("connectdb.php");
$type_id=$_GET['type'];
$sub_type=$_GET['sub_type'];
$sql = "SELECT * FROM product WHERE type_id = $type_id AND sub_type_id = $sub_type ";
$query = mysqli_query($connection,$sql);
$num_rows = mysqli_num_rows($query);

$per_page = 12; // Per Page
$page = 1;

if(isset($_GET["Page"]))
{
$page = $_GET["Page"];
}

$prev_page = $page-1;
$next_page = $page+1;

$row_start = (($per_page*$page)-$per_page);
if($num_rows<=$per_page)
{
$num_pages =1;
}
else if(($num_rows % $per_page)==0)
{
$num_pages =($num_rows/$per_page) ;
}
else
{
$num_pages =($num_rows/$per_page)+1;
$num_pages = (int)$num_pages;
}
$row_end = $per_page * $page;
if($row_end > $num_rows)
{
$row_end = $num_rows;
}
$sql .= " ORDER BY product_rating DESC LIMIT $row_start ,$row_end ";
$query = mysqli_query($connection,$sql);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{

?>
<div class="col-lg-4 col-sm-6">
<div class="single_category_product">
<div class="single_category_img">
<a href="single-product.php?product_id=<?=$result["product_id"]; ?>"><img src="http://admin.nk-weddingcard.com/product/<?=$result["product_upload"]; ?>" alt="<? echo $result["product_keyword"]; ?>" title="<? echo $result["product_keyword"]; ?>"></a>
<div class="category_social_icon">
<ul>
<li><a href="#"><i class="ti-heart"></i></a></li>
<li><a href="#"><i class="ti-bag"></i></a></li>
</ul>
</div>
<div class="category_product_text">
<a href="single-product.php?product_id=<?=$result["product_id"]; ?>"><h5><? echo $result["product_name"]; ?></h5></a>
<p><!--ใส่ราคา--></p>
</div>
</div>
</div>
</div>

<?
}
?>

<div class="col-lg-12 text-center">
สินค้า <?php echo $num_rows;?> ชิ้น : <?php echo $num_pages;?>หน้า :
<?php
if($prev_page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$prev_page&pages=$_GET[pages]&type=$type_id&sub_type=$sub_type'><< Back</a> ";
}

for($i=1; $i<=$num_pages; $i++){
if($i != $page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&pages=$_GET[pages]&type=$type_id&sub_type=$sub_type'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($page!=$num_pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$next_page&pages=$_GET[pages]&type=$type_id&sub_type=$sub_type'>Next>></a> ";
}
$connection = null;
?> </div>
</div>
</div>
</div>
</div>
</section>

</body>
</html>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-04-14 22:04:00 By : dagonov View : 643 Reply : 2
 

 

No. 1



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



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


ลองเทียบเคียงกับของผมเอานะครับ

https://github.com/Rundiz/pagination/blob/master/tests/via-http/test-basic-pagenum.php

Code (PHP)
$limit = 12;// อันนี้กำหนดตายตัวไปเลยแสดงต่อหน้ากี่รายการ (ของคุณคือ $per_page) แล้วไม่ต้องไปทำอะไรกับมันอีก.

$start = (isset($_GET['page']) ? intval($_GET['page']) : 1);// $start ของคุณคือ $page
if ($start < 1) {
    $start = 1;
}
// หาค่า OFFSET
$offset = (($start - 1) * $limit);

$sql .= 'LIMIT ' . $offset . ', ' . $limit;
// ส่วนที่ต้องใช้ในการแบ่งหน้าใน mysql มีแค่นี้ ส่วนอื่นๆเช่นการแสดงแบ่งหน้า กระจายโค้ดออกไปให้มันอ่านง่ายๆแก้ไขง่ายๆ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-14 23:14:20 By : mr.v
 


 

No. 2



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



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


มาตอบช้าไปหน่อย เผื่อคนอื่น copy code ไปแล้วเจออีกก็ตามนี้

โค้ดแถวนี้ผิดตัวแปรตัวเดียวครับ $sql .= " ORDER BY product_rating DESC LIMIT $row_start ,$row_end ";


เปลี่ยน $row_end เป็น $per_page แค่นั้นครับ
$sql .= " ORDER BY product_rating DESC LIMIT $row_start ,$perpage ";


ประวัติการแก้ไข
2021-08-27 09:46:59
2021-08-27 09:56:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-27 09:45:59 By : VsuperV
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 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 อัตราราคา คลิกที่นี่