Tạo lớp (class) phân trang đơn giản bằng PHP

25/07/2012

Tạo lớp phân trang đơn giản bằng PHP

Trong quá trình làm web, ắt hẳn bạn sẽ cần phân trang khi dữ liệu được load quá nhiều, đoạn code dưới đây chỉ là một lớp phân trang đơn giản nhưng sẽ rất hữu ích cho những bạn mới bước vào lập trình nói chung và lập trình bằng php nói riêng.
Đoạn code phân trang này sẽ hiển thị như sau khi bạn đưa vào website:

Trang : [1] >  >>

Và sau đây là đoạn code mà các bạn có thể tham khảo :

class display {
function pagination($rows, $per_page, $current_page, $page_link) {
global $core,$C;
// Tạo danh sách phân trang
$this->pages = ceil($rows / $per_page);
// Nếu chỉ có 1 trang thì trả về ngay
if($this->pages == 1) {
return;
}
// dữ liệu xuất ra
$output = "Trang : ";
// có hay không trang đầu tiên
if($current_page > 2) {
$output .= " <a href=\"". $page_link ."?page=1/\" title=\"First Page\"><strong>&lt;&lt;</strong></a>";
}
// có hay không trang kế tiếp
if($current_page > 1) {
$previous_page = $current_page - 1;
$output .= " <a href=\"". $page_link .">page=". $previous_page ."/\" title=\"Previous Page\"><</a>";
}
// Vị trí trang hiện tại
$output .= "<strong>[ ". $current_page ." ]</strong>";
// Có hay không Link đến trang kế tiếp
if($current_page < $this->pages) {
$next_page = $current_page + 1;
$output .= "<a href=\"". $page_link ."?page=". $next_page ."/\" title=\"Next Page\">></a>";
}
// Có hay không trang cuối
if($current_page < $this->pages - 1) {
$output .= " <a href=\"". $page_link ."?page=". $this->pages ."/\" title=\"Last Page\">>></a>";
}
//  trả về kết quả hiển thị
return $output;
}
}
$display = new display;
echo $display->pagination("45", "15", "1", "http://trangwebcuaban/index.php");
?>

Nếu trong quá trình làm có bất cứ vấn đề gì thì các bạn có thể để lại lời nhắn, mình sẽ cố gắng giúp các bạn khi có thể.
Chúc các bạn thành công !

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !
  • Ho Thanh Hai FITHOU

    bạn có thể giải thích và hướng dẫn chi tiết cách thực hiện phân trang được ko, mình mới học php nên ko hiểu lắm. Thanks bạn rất nhiều vì đã chia sẻ !

    • đầu tiên bạn tạo file mới và đặt nó ở một thư mục nào đó, có thể là cùng với file index, đặt tên là “pagination.php” và copy đoạn code chứa class display vào,sau đó nếu bạn muốn phân trang ở mục nào thì dùng include “pagination.php” đặt ở đầu dòng, chúc bạn thành công

      • thien tam

        thực sự mới bắt đầu nên không hiểu dõ. Bạn viết hướng dẫn cụ thể hơn thì tốt quá

  • trần trọng

    minh muon hien thi 1 2 3 >>> thi lam them nhu the nao b?
    b co the giup minh khong
    b co the nc voi minh qua yahoo trantrong_92@yahoo,com
    thank b rat nhieu?

    • Vì thời gian có hạn nên mình không thể nc trực tiếp với bạn qua yahoo được , thành thật xin lỗi. Đoạn code mà mình giới thiệu trên là đoạn code cơ bản về phân trang, bạn có thể cho nó hiển thị theo bất kì nhu cầu nào của bạn, chỉ cần bạn đọc kỹ phần hiển thị bên ngoài, là có thể vận dụng theo ý mình.

      Chúc bạn thành công !

  • long

    không hiểu đoạn khai báo biến global $core,$C; để làm gì. Haizz

  • phân trang kết hợp ajax sẽ hay hơn nhiều 🙂