CodeIgniter Project A-Z 17 – Phân trang bài viết trang độc giả website tin tức

0
451

[ VIDEO TUT ]

Bấm Subscribe Nhận video học mới nhất :

Chú ý: Các bạn lựa chọn video ở chế độ 720HD để xem được chất lượng hình ảnh và âm thanh tốt nhất nhé.

Xây dựng trang độc giả : Chúng ta cũng sử dụng kỹ thuật master layout để xây dựng trang độc giả.Tôi sẽ tạo 1 folder user chứa các view trang độc giả.Trong folder này tôi cũng sẽ xây dựng như folder admin.Trang độc giả cũng có 1 khung layout cố định bao gồm các header,sidebar và foooter.Phần content chứa các bài viết lấy từ csdl và tôi sẽ sử dụng library pagination để phân trang cho các bài viết.

1.Xây dựng khung layout cố định

  • View index.php chứa khung layout :

  • View head.php :

  • View header.php chứa menu ngang :

  • View sidebar.php chứa phần nội dung bên phải bao gồm about us,categories,popular post

  • View footer :

  • Tôi sẽ tạo ra 1 view content.php hiển thị các bài viết được phân trang.Chúng ta sẽ phân trang bài viết ở phần 2.
  • Để điều hướng trang độc giả,trong controllers tôi tạo 1 folder user chứa controller user_c.php :

2.Phân trang bài viết

  • Phân trang bài viết : trong controller user_c,tôi tạo 1 hàm home() dùng để phân trang các bài viết.hàm này sẽ lấy các bản ghi trong bảng ‘baiviet’,chia chúng ra thành các phân đoạn,khi ấn vào link phân trang thì sẽ gọi ra từng phân đoạn tương ứng.
  • Đầu tiên trong hàm này ta sẽ load ra Baiviet_model để làm việc với bảng ‘baiviet’ và load library pagination để có thể phân trang.

  • Tiếp theo lấy ra các bản ghi trong bảng ‘baiviet’,sắp xếp theo giá trị bài viết nào mới hơn sẽ hiển thị trước.

  • Tôi sẽ phân ra 3 bài viết trên 1 trang.Khi ấn vào link ở view tôi sẽ truyền số thứ tự phân đoạn và lấy ra các bản ghi trong phân đoạn đó.

  • $offset là vị trí tôi lấy phân đoạn phân trang.Do tôi cấu hình $config[‘base_url’] = user_url(‘user_c/home/page/’),đường dẫn lúc này sẽ có dạng localhost/user/user_c/home/page/$offset. ta thấy $offset = uri->segment(5);
  • $query_poster = $this->db->get(); có nhiệm vụ lấy ra các bản ghi trên phân đoạn phân trang đó.Ví dụ như ở phân đoạn 1 sẽ có 3 bản ghi id lần lượt là 6,5,4,phân đoạn 2 sẽ có 3 bản ghi id là 3,2,1 …
  • Ngoài ra phần còn lại chỉ là tôi đặt các thuộc tính cho link phân trang.Link phân trang sẽ có dạng là first prev 1 2 3 next last 
  • Tiếp theo chúng ta tạo ra link phân trang,đồng thời load dữ liệu và view content này vào view index :

  • Tại view content tôi load dữ liệu được phân trang vào :

[ SOURCE CODE ]

Bài học codeigniter cơ bản tại đây.

Tác giả : Hà Trung Vietpro

[Total: 0    Average: 0/5]

LEAVE A REPLY

Please enter your comment!
Please enter your name here