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><<</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ể.