Hướng dẫn phân trang bài viết PHP – MongoDB

Hướng dẫn phân trang PHP – MongoDB

Bài viết này mình sẽ hướng dẫn các bạn có thể áp dụng được kỹ thuật phân trang sử dụng ngôn ngữ lập trình PHP kết hợp với cơ sở dữ liệu MongoDB. Các bạn nên xem bài viết Hướng dẫn sử dụng PHP truy vấn dữ liệu trong MongoDB để hiểu qua về cách sử dụng phương thức truy vấn find trong lớp MongoCollection. Như các bạn đã biết ở trong MySQL thì có limit(offset, record per page) để có thể giới hạn lấy n số bản ghi, từ vị trí offset định sẵn. Còn trong MongoDB thì được cung cấp phương thức: skip để nhảy tới vị trí offset và phương thức limit để giới hạn số document cần trả về.

Kỹ thuật phân trang PHP - Mongodb

Kỹ thuật phân trang PHP – Mongodb

Cơ chế phân trang

Có 3 yếu tố bạn cần quan tâm để có thể thực hiện được phân trang trong ứng dụng đó là:

  • Vị trí trang hiện tại (tham số này thường được truyền từ URI xuống ví dụ 1, 2, 3)
  • Tổng số bản ghi (tham số này sẽ giúp tính toán ra được tổng số trang)
  • Số document hiển thị / trang

Code mẫu phân trang

Mình giải thích một chút ý nghĩa của đoạn code trên để các bạn dễ hiểu hơn nhé!
– Lấy vị trí trang hiện tại thông qua $_GET gán vào biến $page, trường hợp không hợp lệ luôn hiểu là đang truy vấn trang vị trí 1
– Đặt số document hiển thị trên trang là 1
– Tính toán vị trí document bắt đầu truy vấn gán vào biến $offset
– Thực hiện khởi tạo đối tượng MongoCollection và thực hiện lệnh truy vấn dữ liệu.
– Tính toán số trang
…….

Lời kết

Kỹ thuật phân trang khi kết hợp PHP với MongoDB hay MySQL đều không có gì khó khăn cả. Bạn chỉ cần xem qua đoạn code mẫu của mình và mất một ít thời gian là có thể hiểu được rõ ràng cơ chế này. MongoDB là một cơ sở dữ liệu mạnh, nó có thể thực hiện được hết các truy vấn phức tạp như CSDL quan hệ. Chúng ta sẽ cùng nhau tìm hiểu thêm về MongoDB ở những bài viết sau nữa nhé!