26 Mar

Phân trang trong PHP 5.00/5 (100.00%) 1 vote

Hôm nay chúng ta sẽ tìm hiểu về phân trang trong PHP, có rất nhiều cách để phân trang nhưng mình sẽ giới thiệu cho bạn ba cách. Nhưng trước khi tìm hiểu chúng sẽ xem hình ảnh sau để hình dung được cách hoạt động của phân trang như thế nào nhé!phantrang
Phân trang có tác dụng tối ưu được khung nhìn, dữ liệu hiện lên không chiếm hết website đối với lượng dữ liệu lớn.

1. Phân trang cơ bản

Chúng ta đi phân tích các  yếu tố trong phân trang

Giả xử viduphantrang

Ta xử phân trang

  • Giá trị cần được xác định trước sẽ có bao nhiêu dòng hiện lên một trang, ở đây mình cho $numrow=4
  • Tính dòng bắt đầu cho từ trang
    Trong cơ sở dữ liệu có $maxrow= 21 dòng mà mỗi trang hiện $numrow=4 dòng có 2 trường hợp
    Nếu số $maxrow chia hết cho $numrow thì ta lấy thương là tổng số trang $totalpaper=$maxrow/$numrow
    Nếu số $maxrow không chia hết cho $numrow thì ta làm tròn lên $totalpaper=21/4=5,25=> có 6(trang)
    Trang 1: từ dòng 0->3
    Trang 2:từ dòng 4->7

    Trang 6: từ dòng ?(bao nhiêu)->21
    Từ trên ta sẽ rút ra được công thức tính dòng bắt đầu cho từng trang.
    $startrow= ($paper-1)*$numrow

Chúng ta sẽ bắt đầu làm sẽ hiểu rõ hơn
Bước 1: Bạn tạo một cơ sở dữ liệu database có tên là demophantrang và một bảng sanphamcsdlsanpham
Để tiện các bạn demo cơ sở dữ liệu bạn tải tại đây

Bước 2: Tạo trang connect.php

Bước 3: Ta tạo trang phantrangcoban.php

Thứ nhất ta xử lý  một trang chỉ hiển thị 4 dòng

hienthi4dong

Thứ 2 ta xử lý phân trang

hienthipt

2. Phân trang kiểu ajax

Tạo một nút xem thêm sản phẩm tương tự như trong tin nhắn facebook

Bước 1: Bạn tạo cho mình một trang phantrangajax.php

Bước 2: Bạn tạo ra một file ajax.php, bạn nhớ chèn thư viện jquery tải tại đây

Hình ảnh demo

Chưa click vào nút xem thêm

truockhiclick   Sau khi click vào nút xem thêm

saukhiclick

3. Phân trang kiểu hướng đối tượng

Cũng tương tự như phân trang cơ bản nhưng mình viết theo hướng đối tượng chia ra các function để trong class để tiện việc dùng lại và sửa chữa

Bước 1: Bạn tạo class phân trang lưu là CPhanTrang.php

Bước 2: Ta tạo ra một file để show dữ liệu lưu phantranghdt.php

 

4. Lời kết

Qua bài này bạn cũng biết được vài cách phân trang,thực chất có rất nhiều cách phân trang, nếu bạn hiểu được bản chất của phân trang thì bạn có thể tùy biến theo ý tưởng của mình. Chúc bạn học tốt và vui vẻ.