การแบ่งหน้าใน Codeigniter พร้อมตัวอย่างทีละขั้นตอน

ฐานข้อมูลเป็นสิ่งมีชีวิตที่เติบโตขึ้นตามกาลเวลา เมื่อออกแบบแอปพลิเคชัน เราต้องคำนึงถึงข้อมูลจำนวนมากที่ผู้ใช้ต้องเรียกดู การแบ่งหน้าช่วยให้เราแบ่งผลการค้นหาออกเป็นส่วนย่อยๆ ที่จัดการได้ รูปภาพต่อไปนี้แสดงตัวอย่างการแบ่งหน้าในการค้นหาของ Google

การแบ่งหน้าใน Codeigniter

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีการแบ่งหน้าผลลัพธ์ของฐานข้อมูลใน CodeIgniter โดยใช้ไลบรารีการแบ่งหน้า บทช่วยสอนนี้ถือว่าคุณคุ้นเคยกับพื้นฐานของ CodeIgniter Active Record หากคุณไม่ทำ คุณสามารถอ่านบทช่วยสอนก่อนหน้านี้ได้ ข้อสันนิษฐานอื่นคือคุณได้ดาวน์โหลด CodeIgniter แล้ว

การกำหนดค่าฐานข้อมูล

เราจะเริ่มต้นด้วยการสร้างฐานข้อมูลและแทรกบันทึกจำลองบางส่วนลงไป มันจะเป็นฐานข้อมูลตารางเดียวที่มี 50 ระเบียนอยู่

เรียกใช้สคริปต์ต่อไปนี้กับ MySQL เพื่อสร้างตารางผู้เขียนฐานข้อมูล แทรกบันทึกจำลอง 50 รายการ

CREATE SCHEMA ci_pagination;

DROP TABLE IF EXISTS `authors`;

CREATE TABLE `authors` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `last_name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `birthdate` date NOT NULL,
  `added` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (1, 'Brielle', 'O\'Hara', 'alexandre67@example.com', '1974-05-21', '1999-09-17 19:17:28');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (2, 'Flavio', 'Lehner', 'mafalda85@example.net', '1971-10-14', '1998-09-09 00:25:06');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (3, 'Elmira', 'Johns', 'wellington52@example.org', '1983-11-28', '2015-02-07 15:56:43');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (4, 'Elza', 'Mitchell', 'marisol46@example.org', '1989-03-08', '1992-08-21 00:21:39');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (5, 'Viva', 'Greenfelder', 'era94@example.com', '1995-04-17', '2017-04-30 05:55:39');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (6, 'Maxwell', 'VonRueden', 'mcassin@example.net', '1994-07-01', '1996-05-08 23:30:14');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (7, 'Deontae', 'Becker', 'rory.kub@example.org', '1992-02-19', '2017-07-22 11:49:15');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (8, 'Sylvester', 'Christiansen', 'erohan@example.org', '1990-09-03', '2004-05-08 08:15:37');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (9, 'Torrey', 'Strosin', 'adams.luciano@example.net', '1999-10-09', '2009-08-30 21:30:44');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (10, 'Kelli', 'Smitham', 'daniel.catalina@example.com', '2012-11-07', '1986-01-22 20:52:57');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (11, 'Abigale', 'Schuppe', 'andreanne.hayes@example.net', '2018-02-18', '1994-05-07 06:26:36');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (12, 'Letha', 'Gleason', 'eldridge.heaney@example.net', '2009-02-06', '1998-05-25 04:37:54');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (13, 'Sienna', 'Upton', 'monique57@example.org', '2017-08-17', '2009-08-08 19:08:10');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (14, 'Harley', 'Gutkowski', 'breilly@example.net', '1987-11-30', '1998-07-31 11:08:01');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (15, 'Lois', 'Bednar', 'hpouros@example.net', '2002-02-11', '2001-07-26 15:04:16');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (16, 'Gail', 'McDermott', 'reina.kerluke@example.com', '1987-03-30', '2004-12-15 20:38:29');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (17, 'Sydney', 'Strosin', 'dweber@example.net', '1985-04-29', '2010-08-07 08:50:35');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (18, 'Anne', 'Cremin', 'fritz.schmitt@example.com', '1976-02-15', '1980-03-25 05:29:41');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (19, 'Norberto', 'Bergnaum', 'franecki.javon@example.net', '1971-03-11', '1993-03-20 23:36:25');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (20, 'Arvid', 'Johns', 'pschultz@example.org', '2016-01-03', '1995-04-30 17:07:15');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (21, 'Bernita', 'Fay', 'arne96@example.org', '1983-12-26', '1987-02-23 16:55:28');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (22, 'Gonzalo', 'Gorczany', 'velma.huels@example.com', '1987-10-19', '2016-10-18 19:25:46');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (23, 'Jackie', 'Klein', 'gretchen.howe@example.com', '1971-01-20', '2010-11-16 02:58:05');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (24, 'Andrew', 'Kessler', 'collins.faye@example.org', '1984-08-07', '1971-12-15 08:46:42');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (25, 'Claire', 'Hudson', 'madalyn.wunsch@example.org', '1984-12-19', '1991-07-04 14:35:53');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (26, 'Prudence', 'Runte', 'koch.laurie@example.net', '2008-12-27', '1985-09-30 04:57:55');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (27, 'Destinee', 'Romaguera', 'tromp.tiffany@example.com', '1978-11-09', '1997-11-09 19:58:08');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (28, 'Marianna', 'Harvey', 'clovis.schuppe@example.com', '2013-08-28', '1990-08-06 19:29:19');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (29, 'Eloy', 'Lakin', 'wmorissette@example.net', '1989-12-08', '1974-03-16 03:21:16');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (30, 'Rubie', 'McClure', 'haley.louisa@example.net', '1987-09-12', '1998-07-02 10:45:36');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (31, 'Marisa', 'Stracke', 'zachary76@example.org', '1975-05-28', '1975-03-19 00:57:35');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (32, 'Jacey', 'Beatty', 'dahlia.hermann@example.org', '1979-12-17', '1971-01-21 16:50:58');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (33, 'Idella', 'Ruecker', 'elda.reichert@example.com', '2009-09-15', '1996-04-19 22:27:31');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (34, 'Dimitri', 'Bednar', 'freida.parker@example.org', '1998-12-02', '2008-12-30 23:29:57');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (35, 'Elfrieda', 'Smitham', 'padberg.rex@example.org', '2018-07-23', '1972-04-01 07:52:25');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (36, 'Dwight', 'Walter', 'gmosciski@example.org', '2016-08-15', '1994-07-02 11:06:55');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (37, 'Macie', 'Fay', 'uschuppe@example.net', '1976-01-29', '2005-12-13 18:44:46');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (38, 'Lori', 'Kshlerin', 'mhansen@example.net', '1983-04-08', '1986-01-18 16:03:52');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (39, 'Jeffry', 'Paucek', 'alisha35@example.net', '2002-10-02', '2004-03-29 07:06:03');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (40, 'Yvonne', 'Bernhard', 'jaqueline21@example.net', '2017-11-04', '1986-12-15 23:55:23');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (41, 'Ludwig', 'Heathcote', 'marcelino.kirlin@example.org', '1981-02-09', '2000-08-02 20:45:48');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (42, 'Jadyn', 'Wiegand', 'georgianna.swift@example.net', '1982-06-16', '1980-12-05 13:09:37');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (43, 'Ferne', 'Smitham', 'melany22@example.com', '1996-12-17', '1984-11-18 19:26:27');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (44, 'Meta', 'Corkery', 'xharber@example.com', '1972-03-31', '2007-01-20 00:07:31');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (45, 'Toni', 'Wolf', 'wyman.crystal@example.org', '2012-04-15', '1973-06-22 12:14:37');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (46, 'Zack', 'Luettgen', 'deion.konopelski@example.org', '2003-05-29', '2018-11-19 05:03:21');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (47, 'Kameron', 'Dietrich', 'ronaldo.torphy@example.com', '1973-05-20', '1974-09-16 20:27:17');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (48, 'Zetta', 'Lebsack', 'timmothy.vandervort@example.com', '1996-11-04', '2001-03-06 01:33:01');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (49, 'Benny', 'Hane', 'leone.lueilwitz@example.net', '2008-02-02', '2006-01-27 22:12:39');
INSERT INTO `authors` (`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) VALUES (50, 'Evans', 'Gleason', 'ccummerata@example.org', '1999-09-09', '1990-09-26 17:50:11');

ตอนนี้เราสร้างฐานข้อมูลของเราสำเร็จแล้วและแทรกบันทึกจำลองลงไปแล้ว เรามากำหนดค่าแอปพลิเคชัน CodeIgniter ของเราเพื่อสื่อสารกับฐานข้อมูลกันดีกว่า

เปิด application/config/database.php

ตั้งค่าพารามิเตอร์การเชื่อมต่อฐานข้อมูลคล้ายกับต่อไปนี้

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'root',
	'password' => 'melody',
	'database' => 'ci_pagination',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);

ที่นี่

  • 'hostname' => 'localhost' ตั้งชื่อโฮสต์ของฐานข้อมูล
  • 'username' => 'root' ระบุชื่อฐานข้อมูล
  • 'password' => 'openseseme' ตั้งรหัสผ่านฐานข้อมูล
  • 'database' => 'ci_pagination' ระบุชื่อฐานข้อมูล

นอกจากนี้เรายังจะโหลดไลบรารีฐานข้อมูลโดยอัตโนมัติเมื่อแอปพลิเคชันของเราเริ่มทำงาน มาทำอย่างนั้นกันเถอะ เปิดแอปพลิเคชัน/config/autoload.php

โหลดไลบรารีฐานข้อมูลตามที่แสดงโดยโค้ดด้านล่าง

$autoload['libraries'] = array('database');

เพียงเท่านี้สำหรับการกำหนดค่าฐานข้อมูล

ตอนนี้เรามาทำงานกับโมเดลฐานข้อมูลสำหรับการแบ่งหน้ากันดีกว่า

โมเดลฐานข้อมูลการแบ่งหน้า CodeIgniter

สร้างโมเดล Authors_model ใหม่ใน application/models

เพิ่มโค้ดดังต่อไปนี้:

<?php

class Authors_model extends CI_Model {

    protected $table = 'authors';

    public function __construct() {
        parent::__construct();
    }

    public function get_count() {
        return $this->db->count_all($this->table);
    }

    public function get_authors($limit, $start) {
        $this->db->limit($limit, $start);
        $query = $this->db->get($this->table);

        return $query->result();
    }
}

ที่นี่

  • ป้องกัน $table = 'ผู้เขียน'; กำหนดตัวแปรที่ได้รับการป้องกันซึ่งกำหนดชื่อตารางฐานข้อมูลสำหรับโมเดล
  • public function __construct() {…} เรียกเมธอดตัวสร้างพาเรนต์
  • ฟังก์ชั่นสาธารณะ get_count() {…} ส่งคืนบันทึกทั้งหมดในตารางฐานข้อมูล นี่เป็นความจำเป็นสำหรับวัตถุประสงค์ในการแบ่งหน้า
  • ฟังก์ชั่นสาธารณะ get_authors($limit, $start) {…} กำหนดวิธีการที่จะใช้เพื่อดึงผลลัพธ์การแบ่งหน้าจากฐานข้อมูล เราจะผ่านขีดจำกัดและจุดเริ่มต้น ขีดจำกัดจะกำหนดจำนวนระเบียนทั้งหมดที่จะส่งคืน ในขณะที่ start จะกำหนดจำนวนระเบียนที่ควรข้าม

แค่นั้นแหละสำหรับโมเดลฐานข้อมูลของเรา ตอนนี้เรามาสร้างเส้นทางที่จะตอบสนองต่อผลลัพธ์ที่มีการแบ่งหน้าของเรา

เส้นทางการแบ่งหน้า CodeIgniter

เปิดไฟล์เส้นทางใน application/config/routes.php

เพิ่มเส้นทางดังต่อไปนี้

$route['authors/(:num)'] = 'authors';

ที่นี่

  • เรากำหนดผู้สร้างเส้นทางที่ยอมรับพารามิเตอร์เสริมของตัวเลข พารามิเตอร์เสริมจะถูกกำหนดโดยใช้วงเล็บเปิดและวงเล็บปิด เส้นทางที่กำหนดจะเรียกใช้เมธอดดัชนีในตัวควบคุมผู้เขียน

ตอนนี้เรามาดูตัวควบคุมเพื่อดูผลลัพธ์ที่มีการแบ่งหน้าของเรา

ตัวควบคุมการแบ่งหน้า CodeIgniter

สร้างไฟล์ Authors.php ใหม่ในไดเร็กทอรี application/controllers

เพิ่มโค้ดดังต่อไปนี้:

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Authors extends CI_Controller {

    public function __construct() {
        parent:: __construct();

        $this->load->helper('url');
        $this->load->model('authors_model');
        $this->load->library("pagination");
    }

    public function index() {
        $config = array();
        $config["base_url"] = base_url() . "authors";
        $config["total_rows"] = $this->authors_model->get_count();
        $config["per_page"] = 10;
        $config["uri_segment"] = 2;

        $this->pagination->initialize($config);

        $page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;

        $data["links"] = $this->pagination->create_links();

        $data['authors'] = $this->authors_model->get_authors($config["per_page"], $page);

        $this->load->view('authors/index', $data);
    }
}

ที่นี่

  • ผู้เขียนคลาสขยาย CI_Controller {…} เรากำหนดผู้เขียนคลาสที่ขยายคลาส CI_Controller
  • ฟังก์ชั่นสาธารณะ __construct() {…} วิธีการนี้เริ่มต้นตัวสร้างพาเรนต์และโหลดตัวช่วย url โมเดลผู้เขียนและไลบรารีการแบ่งหน้า
  • public function index() {…} กำหนดวิธีการที่ตอบสนองต่อผู้เขียนเส้นทางของเรา
    • $config[“base_url”] = base_url() . “ผู้เขียน”; ตั้งค่า URL การแบ่งหน้าที่จะใช้ในการสร้างลิงค์การแบ่งหน้า
    • $config[“total_rows”] = $this->authors_model->get_count(); ตั้งค่าแถวรวมที่ต้องแบ่งหน้า ค่าจะถูกดึงมาจากโมเดลผู้เขียนโดยการเรียกเมธอด get_count
    • $config[“per_page”] = 10; กำหนดแถวที่ต้องการแสดงในแต่ละหน้า
    • $config[“uri_segment”] = 2; ระบุส่วนของ URL ที่มีค่าที่จะใช้เพื่อข้ามบันทึก
    • $this->การแบ่งหน้า->เริ่มต้น($config); เริ่มต้นไลบรารีการแบ่งหน้าโดยใช้ค่าอาร์เรย์กำหนดค่าที่เรากำหนดและกำหนดค่าข้างต้นให้
    • $page = ($this->uri->segment(2)) ? $นี่->uri->เซ็กเมนต์(2) : 0; ตรวจสอบว่าหมายเลขการข้ามได้รับการตั้งค่าไว้ในส่วนที่สองของ URI หรือไม่ และหากไม่ได้ตั้งค่าไว้ ค่า 0 จะถูกกำหนดให้กับตัวแปร $page
    • $data[“links”] = $this->pagination->create_links(); สร้างลิงก์การแบ่งหน้าและกำหนดให้กับคีย์ลิงก์ของตัวแปรอาร์เรย์ $data
    • data['authors'] = $this->authors_model->get_authors($config[“per_page”], $page); ดึงบันทึกผู้เขียนที่มีการแบ่งหน้าและกำหนดให้กับคีย์ผู้เขียนของตัวแปรอาร์เรย์ $data
    • $this->load->view('ผู้เขียน/ดัชนี', $data); โหลดมุมมองดัชนีในไดเรกทอรีผู้เขียนและส่งผ่านตัวแปรอาร์เรย์ $data

แค่นั้นแหละสำหรับโมเดลของเรา ตอนนี้เรามาสร้างมุมมองที่จะแสดงผลลัพธ์ฐานข้อมูลของเรา

สร้างผู้เขียนไดเรกทอรีใหม่ในแอปพลิเคชัน/มุมมอง

สร้างไฟล์ใหม่index.phpในapplication/views/authors/index.php

เพิ่มโค้ดดังต่อไปนี้:

<!DOCTYPE html>
<html>
    <head>
        <title>CodeIgniter Pagination</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
    </head>
    <body>
        <div class="container">
            <h3 class="title is-3">CodeIgniter Database Pagination</h3>
            <div class="column">
                <table class="table is-bordered is-striped is-narrow is-hoverable is-fullwidth">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Contact Name</th>
                            <th>Contact Number</th>
                            <th>Email</th>
                            <th>City</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($authors as $author): ?>
                            <tr>
                                <td><?= $author->id ?></td>
                                <td><?= $author->first_name ?></td>
                                <td><?= $author->last_name ?></td>
                                <td><?= $author->email ?></td>
                                <td><?= $author->birthdate ?></td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
                <p><?php echo $links; ?></p>
            </div>
        </div>
    </body>
</html>

ที่นี่

  • วนซ้ำผลลัพธ์ของตัวแปร $authors และพิมพ์ผลลัพธ์ในตาราง
  • พิมพ์ลิงก์การแบ่งหน้าที่ด้านล่างของตารางของเรา

ตอนนี้เรามาเริ่มแอปพลิเคชันของเราและดูผลลัพธ์กันดีกว่า

ในบทช่วยสอนนี้ เราใช้เว็บเซิร์ฟเวอร์ PHP ในตัว แต่คุณสามารถใช้เว็บเซิร์ฟเวอร์ใดก็ได้ที่รองรับ PHP.

เปิดเทอร์มินัล

เรียกใช้คำสั่งต่อไปนี้

cd C:\Sites\ci-app
php -S localhost:3000

ที่นี่

  • คำสั่งดังกล่าวเรียกดูไดเรกทอรีรหัสแอปพลิเคชันและเริ่มเซิร์ฟเวอร์ในตัวบนพอร์ต 3000

หมายเหตุ: เส้นทางแอปพลิเคชันจะต้องตรงกับเส้นทางที่คุณดาวน์โหลด CodeIgniter คุณสามารถใช้หมายเลขพอร์ตใดก็ได้ที่ว่างบนคอมพิวเตอร์ของคุณ ไม่จำเป็นต้องใช้พอร์ต 3000

เปิดเว็บเบราว์เซอร์และโหลด URL ต่อไปนี้

http://localhost:3000/authors

คุณควรจะได้รับผลลัพธ์ที่คล้ายกับต่อไปนี้

ตัวควบคุมการแบ่งหน้า CodeIgniter

สรุป

ในบทช่วยสอนนี้ เราได้ครอบคลุมพื้นฐานของการแบ่งหน้าและใช้ประโยชน์จากไลบรารีการแบ่งหน้า CodeIgniter และใช้เพื่อสร้างแอปพลิเคชันที่แบ่งหน้าผลลัพธ์ของฐานข้อมูล