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 > การแบ่งหน้าข้อมูลจำนวนมาก เลขหน้าขึ้น เเต่ข้อมูลเหมือนกันทุกหน้า



 

การแบ่งหน้าข้อมูลจำนวนมาก เลขหน้าขึ้น เเต่ข้อมูลเหมือนกันทุกหน้า

 



Topic : 134960



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



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



1111111111
หมายเลขหน้าเพิ่มตามจำนวนที่เเบ่ง เเต่แสดงข้อมูลออกมาทั้งหมดเหมือนกันทุกหน้า


ช่วยดูโค๊ดทีครับ ผมตั้งไว้ที่หน้าละ 5 record เเต่ข้อมูลออกมาทั้งหมดเหมือนกันทุกหน้าเลย

(ไฟล์ connect.php)
Code (PHP)
<meta charset="UTF-8">
<?php 
	$connect = mysqli_connect("localhost","root","1111","osit");
	if (mysqli_connect_error($connect)) {
		echo "failed to connect";
	}

$perpage = 5;
 if (isset($_GET['page'])) {
 $page = $_GET['page'];
 } else {
 $page = 1;
 }
 
 $start = ($page - 1) * $perpage;
 
 $sql = "SELECT * FROM inform ORDER BY id DESC limit {$start} , {$perpage} ";
 $query = mysqli_query($connect, $sql);

mysqli_query($connect, "SET NAMES UTF8");
 ?>


ไฟล์ main.php
Code (PHP)
<!DOCTYPE html>
<html>
<head>
  <?php
    include "css.php";
    include 'connect.php';
  ?>
</head>

<body class="container w3-animate-opacity">
<form>
    <div class="col">
     <center> <h3>รายการแจ้งซ่อม</h3> </center>
    </div>
    <input class="form-control" type="text" name="search" placeholder="ค้นหา" id="myInput">
</form>
<div class="table-responsive">
  <!--Table-->
  <table class="table table-striped">

    <thead>
      <tr>
      <th>วันที่/เวลา</th>
      <th>ผู้แจ้ง</th>
      <th>อาการ</th>
      <th>สถานะ</th>
      <th>สาเหตุ</th>
      <th>ประเภท</th>
      </tr>
    </thead>
    <tbody id="myTable">
<?php
$query = "SELECT * FROM inform ORDER BY id DESC" or die("Error:" . mysqli_error()); 
$result = mysqli_query($connect, $query);
while($row = mysqli_fetch_assoc($result)) { 
?>
<tr>
<td scope="row"><?php echo $row['datet'];?></td>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['comm'];?></td>
<td><?php echo $row['status'];?></td>
<td><?php echo $row['cause'];?></td>
<td><?php echo $row['type'];?></td>
  </tr>
  <?php  
}

?>

    </tbody>
    <!--Table body-->
  </table>
  <!--Table-->
 <?php
 $sql2 = "SELECT * FROM inform ORDER BY id DESC" or die("Error:" . mysqli_error());
 $query2 = mysqli_query($connect, $sql2);
 $total_record = mysqli_num_rows($query2);
 $total_page = ceil($total_record / $perpage);
 ?>

</div>

 <nav>
 <ul class="pagination">
 <li>
 <a href="main.php?page=1" aria-label="Previous">
 <span aria-hidden="true">&laquo;</span>
 </a>
 </li>
 <?php for($i=1;$i<=$total_page;$i++){ ?>
 <li><a href="main.php?page=<?php echo $i; ?>"><?php echo $i; ?></a></li>
 <?php } ?>
 <li>
 <a href="main.php?page=<?php echo $total_page;?>" aria-label="Next">
 <span aria-hidden="true">&raquo;</span>
 </a>
 </li>
 </ul>
 </nav>
</body>
</html> 





Tag : PHP, HTML, HTML5, Laravel Framework, CakePHP, FuelPHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-03-06 09:44:12 By : 1607845825935583 View : 722 Reply : 6
 

 

No. 1



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

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

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

ดุอันนี้ มันได้ค่ามั้ย
Code (PHP)
$start = ($page - 1) * $perpage;







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-06 10:22:10 By : mongkon.k
 


 

No. 2



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

Hall of Fame 2012

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


มันก็คงต้องเหมือนเดิมล่ะครับ เพราะ query เป็นค่าที่ไม่ใช่ paginate
- ปกติ paginate ควรเอามาใส่หน้า blade ไม่ควรอย่างยิ่งที่จะเอาไปใส่ไว้ใน connect
- เปลี่ยนจาก config บรรทัดที่ 8-18 มาแทนที่ main.php บรรทัดที่ 33-34

เข้าไปศึกษาตัวอย่างได้ที่ https://www.thaicreate.com/php/php-mysql-list-record-paging.html และดูว่าของตัวเองกับ example มันต่าง หรือผิดตรงจุดไหน


ประวัติการแก้ไข
2020-03-06 10:25:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-06 10:23:21 By : Genesis™
 

 

No. 3



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



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

เห็น human error ชัดเจนเลยครับ

ปัญหา
ตอนนี้คิวรี่ของเรามันไปอยู่ในไฟล์ connect ในไฟล์ connect.php ตั้งแต่บรรทัดที่ 08-18 ไม่ควรอยู่ในไฟล์นี้ครับ ควรย้ายไปในไฟล์ main หรือไฟล์ที่ต้องการแสดงผลคิวรี่นั้นๆ เป็นต้นครับ

การแก้ปัญหา
ย้ายคำสั่งจากในไฟล์ connect.php ตั้งแต่บรรทัดที่ 08-18 มาไว้ในไฟล์ main และในไฟล์ main บรรทัดที่ 33 แทนด้วยคำสั่งคิวรี่จากบรรทัดที่ 17 ของไฟล์ connect.php ครับ ถ้าสังเกตุดีๆ ไฟล์ main บรรทัดที่ 33 จะคิวรี่ธรรมดาเลย ไม่มีการ LImit และการทำ Offset ให้แสดงผลเฉพาะหน้าที่เรากดมาใดๆทั้งสิ้น นี่คือสาเหตุหลักครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-06 11:13:56 By : benjaphon
 


 

No. 4



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



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


แล้วบรรทัด 55 เพียงเพื่อจะเอาจำนวนทั้งหมดมาหาจำนวนหน้า ถึงกับต้อง query ใหม่อีกที? เปลืองไปไหม?
ลองศึกษาจากพื้นฐานก่อนเลยดีกว่ามั้ง จากเว็บที่ no.2 ให้มาก็ใช้ได้ แต่ต้องเปลี่ยนไปใช้ function mysqli ให้ถูกต้องด้วยอย่าเอาแต่ลอกๆๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-06 11:41:43 By : mr.v
 


 

No. 5



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



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

ทำได้เเล้วครับ ขอบคุณทุกคนมากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-09 14:40:10 By : 1607845825935583
 


 

No. 6



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



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


ลอกเขามาโดยไม่ผ่านกระบวนการ คิด-วิเคราะห์-แยกแยะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-03-09 15:21:14 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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