แบ่งหน้าที่ยาวๆออกเป็นหลายหน้าด้วย pagination class Codeigniter by nandanai
Aug0
pagination คือตัวช่วยที่ทำให้เราสามารถแบ่งหน้าที่มีอยู่ออกเป็นหลายๆหน้าโดยจะทำลิ้งค์ให้อัตโนมัติประมาณนี้
ส่วนวิธีการใช้เราสามารถเซ็ทค่าผ่าน controller ได้เลยดังนี้
$this->load->library(‘pagination’);
$config['base_url'] = site_url(“test/index/”); - url ของหน้าที่เราจะแบ่ง
$config['total_rows'] = 20; - จำนวนอะไรบางอย่างทั้งหมดของเราโดยปกติจะใช้การนับจำนวนใน database เอา
$config['per_page'] = 5 - จำนวนอะไรบางอย่างของเราต่อหนึ่งหน้า ซึ่งจะได้จำนวนหน้าทั้งหมดเท่ากับ total_rows/per_page
$config['uri_segment'] = 3; -
$this->pagination->initialize($config);
ซึ่งการ config ทั้งหมดจะถูกเก็บไว้ในไฟล์ config/pagination.php
การนำไปใช้ก็ต้องส่งค่าไปที่ view โดยตั้งชื่อตัวแปรไว้ประมาณนี้
$a_data['s_pagination'] = $this->pagination->create_links();
$this->load->view(‘pages/test’, $a_data);
จากนั้นเราจะสามารถใช้ได้โดยเรียกตัวแปร $s_pagination ในส่วนของ html ได้ทันที โดยจะมีจำนวนหน้าตามที่เราเซ็ทไว้
จากนั้นเมื่อเราคลิกที่หน้าใด้หน้าหนึ่ง จะเป็นการเรียก base_url และใส่พารามิเตอร์เพิ่มไปต่อท้ายซึ่งเป็นเลขหน้า โดยเราสามารถนำพารามิเตอร์นั้นไปใช้
ได้โดยการรับไปใน function นั้นๆ ตามปกติดังเช่นตัวอย่าง
function index($page)
{
$this->load->library(‘pagination’);
$config['base_url'] = site_url(“test/index/”); - url ของหน้าที่เราจะแบ่ง
$config['total_rows'] = 20; - จำนวนอะไรบางอย่างทั้งหมดของเราโดยปกติจะใช้การนับจำนวนใน database เอา
$config['per_page'] = 5 - จำนวนอะไรบางอย่างของเราต่อหนึ่งหน้า ซึ่งจะได้จำนวนหน้าทั้งหมดเท่ากับ total_rows/per_page
$config['uri_segment'] = 3; -
$this->pagination->initialize($config);
$a_data['s_pagination'] = $this->pagination->create_links();
$a_data['page'] = $page;
$this->load->view(‘pages/test’, $a_data);
}
ทำให้เราเรียกใช้ตัวแปร $page ในหน้า view ของเราได้ตามนั้น
Enjoy this article?
Consider subscribing to our RSS feed!
ไม่มีความเห็น
ยังไม่มีความเห็น