Hướng dẫn 5 bước Phân trang (Pagination) trong Lập trình web PHP

Ngày đăng: 23/01/2019   -    Cập nhật: 14/04/2021
Bình thường trong khi hiển thị nội dung cơ bản, ta vẫn liệt kê tất cả dữ liệu trong CSDL ra.


Tuy nhiên trong thực tế nếu có rất nhiều bản ghi trong CSDL thì ta liệt kê ra hết sẽ rất bất tiện khi có quá nhiều dữ liệu.


Chính vì vậy, trong PHP hay bất kỳ công nghệ Lập trình Web nào khác, ta cũng cần phải phân trang.


Phân trang hay còn gọi là kỹ thuật phân trang (Pagination).


Kỹ thuật này dùng để chọn ra một số bản ghi trong CSDL, sau đó hiển thị lên giao diện người dùng.


Với mỗi tập bản ghi nhỏ này được hiện lên một trang, và chương trình cho phép chúng ta duyệt qua các trang, mỗi trang chứa một số bản ghi trong CSDL.


Để cài đặt phân trang, ta cần khai báo các biến chứa các giá trị sau đây:



  • Tổng số dòng: Là tổng số bản ghi có trong bảng CSDL (có thể một hay nhiều bảng join với nhau).
  • Kích thước trang: Chính là số bản ghi được hiển thị trên một trang, kích thước trang này sẽ quyết định xem mỗi trang sẽ hiển thị được bao nhiêu bản ghi trong CSDL.
  • Trang hiện tại: Là một biến dùng để lưu trang hiện tại.



Bước 1: Tạo giao diện web PHP | Hướng dẫn Phân trang PHP



Mở Dreamveaver, NetBeans (hoặc một trình soạn thảo khác), tạo mới một website. Tạo các thư mục cần thiết trong website.


Tạo trang php, viết mã hoặc kéo thả để thiết kế giao diện trang danh sách sản phẩm.



> Bạn có thể xem bài Hướng dẫn liệt kê dữ liệu trong PHP để học cách thực hiện các bước trên.



Sau đó...


Mở MySQL, tạo CSDL, tạo một bảng bất kỳ và insert một vài bản ghi vào bảng. Ở đây ta tạo bảng book, lưu thông tin về các cuốn sách. CSDL có tên là quanlysach


Kết nối đến CSDL để chuẩn bị truy vấn dữ liệu trong CSDL.



Bước 2: Lấy về tổng số dòng trong CSDL | Hướng dẫn Phân trang PHP



Thực hiện truy vấn để lấy về tổng số dòng trong bảng CSDL, từ tổng số dòng này, ta chia cho kích thước trang sẽ thu được tổng số trang được hiển thị.


Sử dụng PHP lấy về tổng số dòng trong CSDL

Sử dụng PHP lấy về tổng số dòng trong CSDL


Bước 3: Lấy ra dòng bắt đầu và trang hiện tại  | Hướng dẫn Phân trang PHP



Ta cần phải lấy ra dòng bắt đầu để biết rằng trong trang hiện tại, dữ liệu sẽ được lấy bắt đầu từ bản ghi nào trong CSDL.


Mỗi khi ta chuyển trang, trang hiện tại sẽ thay đổi, đó là trang hiện thời ta đang truy vấn.


Để có thể lấy ra một số bản ghi trong CSDL MySQL, ta sử dụng mệnh đề LIMIT.


Mệnh đề này cho phép lấy ra một số bản ghi trong bảng: Bắt đầu lấy từ dòng nào, và lấy bao nhiêu dòng.


Lấy ra dòng bắt đầu và trang hiện tại

Lấy ra dòng bắt đầu và trang hiện tại

 

Bước 4: Hiển thị các hyperlink phân trang (Pagination)  | Hướng dẫn Phân trang PHP



Tiếp theo ta cần hiển thị các hyperlink cho số trang, để mỗi khi click vào một link thì ta sẽ chuyển đến trang tương ứng.


Ta sử dụng một vòng lặp để duyệt qua tất cả các trang, sau đó in ra các hyperlink tương ứng với từng trang.


* Lưu ý: Chú ý là trang hiện tại thì không hiển thị hyperlink mà sẽ chỉ hiện text.


Hiển thị các hyperlink phân trang (Pagination)

Hiển thị các hyperlink phân trang (Pagination)
 


Ngoài ra ta có thể hiển thị thêm một ComboBox để người dùng có thể chọn một trang bất kỳ trong trường hợp có quá nhiều trang.


Mỗi khi người dùng muốn dịch chuyển đến trang khác thì có thể chọn một mục trong combobox.





Hiển thị thêm một ComboBox để người dùng có thể chọn một trang bất kỳ

Hiển thị thêm một ComboBox để người dùng có thể chọn một trang bất kỳ


Bước 5: View trang Web xem kết quả của việc Phân trang trong PHP  | Hướng dẫn Phân trang PHP


 
View trang web xem kết quả của việc phân trang.

View trang web xem kết quả của việc phân trang.


Chú ý là trong tài liệu này, ta đang thực hiện liên kết giữa hai bảng để hiển thị lên giao diện. Ta có thể chỉ hiển thị dữ liệu trong một bảng, để cho dễ làm đối với những người mới.


Dưới đây là toàn bộ Code để thực hiện Phân trang trong PHP





Toàn bộ Code phân trang trong PHP
 


Đừng hỏi tại sao mình lại không chia sẻ hẳn Code phân trang PHP. Đơn giản là mình không muốn bạn trở thành một cái máy.


Mình muốn kiến thức quan trọng thì phải chuyển hóa thành kỹ năng của bạn. Ít nhất thì hãy đọc lại, tự viết lại, bạn sẽ học lập trình PHP tốt hơn đấy.


 
> Khóa học LẬP TRÌNH WEB VỚI PHP tại NIIT - ICT Hà Nội cũng sẽ học theo cách chú trọng chuyển hóa kiến thức thành kỹ năng như vậy.

 
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python

Bình luận Facebook
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!