วันพุธที่ 22 พฤษภาคม พ.ศ. 2556

Laravel Pagination การแบ่งหน้าแสดงข้อมูล

Pagination การแบ่งหน้า
Using The Query Builder ( ทำการให้เลขหน้าโดยต่อจาการคิวรี่)
ตัวอย่างเราให้คิวรี่นี้ทำการให้เลขหน้าด้วย:
1.  $orders = DB::table('orders')->paginate($per_page, array('id', 'name', 'created_at'));
เวลาจะแสดงบน view  ก้ตามตัวอย่างเลยครับ:
1.  <?php foreach ($orders->results as $order): ?>
2.      <?php echo $order->id; ?>
3.  <?php endforeach; ?>
สร้างลิ้งของเลขหน้า:
1.  <?php echo $orders->links(); ?>
ลิ้งที่ออกมาครับ
1.  Previous 1 2  24 25 26 27 28 29 30  78 79 Next
Appending To Pagination Links (เพิ่มลูกเล่น)
เราสามารถเพิ่มการเรียงลำดับในตารางได้ด้วยการเพิ่ม พารามิเตอร์ชื่อ sort เหมือนในตัวอย่าง
<?php echo $orders->appends(array('sort' => 'votes'))->links();
ลิ้งที่ออกมา:
1.  http://example.com/something?page=2&sort=votes
Creating Paginators Manually ( สร้างการให้เลขหน้าโดยจัดเอง )
ตามตัวอย่างเลยครับ:
1.  $orders = Paginator::make($orders, $total, $per_page);
Pagination Styling (รูปแบบการจัดเลขหน้า)
ใส่ cssให้การจัดเลขหน้าได้ตามตัวอย่างเลย
1.  <div class="pagination">
2.      <ul>
3.          <li class="previous_page"><a href="foo">Previous</a></li>
4.   
5.          <li><a href="foo">1</a></li>
6.          <li><a href="foo">2</a></li>
7.   
8.          <li class="dots disabled"><a href="#"></a></li>
9.   
10.                   <li><a href="foo">11</a></li>
11.                   <li><a href="foo">12</a></li>
12.            
13.                   <li class="active"><a href="#">13</li>
14.            
15.                   <li><a href="foo">14</a></li>
16.                   <li><a href="foo">15</a></li>
17.            
18.                   <li class="dots disabled"><a href="#"></a></li>
19.            
20.                   <li><a href="foo">25</a></li>
21.                   <li><a href="foo">26</a></li>
22.            
23.                   <li class="next_page"><a href="foo">Next</a></li>
24.               </ul>
25.           </div>
เวลาเราอยู่หน้าแรกก็ต้องทำการปิดลิ้งกลับไปหน้าก่อนครับ:
1.  <li class="disabled previous_page"><a href="#">Previous</a></li>

บทนี้สั้นๆนะครับ บทหน้าจะมาต่อเรื่อง Class Auto Loading กับ  Errors & Logging วันหยุดเยอะจัดไปยาวๆ เลย อาทิตย์หน้าจะได้จบซีรี่ย์เลยครับ




ไม่มีความคิดเห็น:

แสดงความคิดเห็น