10/10/2018, 00:12

Rắc rối về phân trang trong php

Hiện nay mình có 1 code phân trang php nhưng nó không dc hoàn hảo cho lắm...! mình cho 1 vd:
Nếu có trên 20 mẫu tin thì phân ra 1 trang, vậy nếu có 100 mẩu tin thì in ra 5 trang...
demo:
1 | 2 | 3 | 4 | 5

vậy nếu có hàng trăm mẩu tin thì sao... ? in ra như vậy à...
demo:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17

Nếu menu chọn trang in ra như vậy thì chắc khung web sẽ bị rách làm trang web trở nên rất xấu vậy mình muốn code phân trang như thế này thì phải làm sao... giúp mình với...
demo:
1 | 2 | 3 | ... | > | Cuối |
demo hình:
haindse viết 02:12 ngày 10/10/2018
Cách tối ưu nhất: GOOGLE.COM with keyword: "Class pagination PHP"
Cách thứ 2: Tự code: Muốn cho nó hiện từ 1 đến 5, rồi lại từ 6 đến 11, V.v. thì cho nó vào vòng FOR. Muốn có cái ... thì cho nó vào cái IF.
happyface viết 02:24 ngày 10/10/2018
Cái này có gì đâu, chỉ cần xét số lượng trang và vị trí trang hiện tại là oke mà
s.code viết 02:23 ngày 10/10/2018
Dần dần sẽ có kinh nghiệm :S
viết 02:19 ngày 10/10/2018
Tôi viết cái phân trang(Paging) tặng các bạn.

Giới thiệu.

Nó tựa giống cái paging của google <<Trước 1 2 3 4 5 6 7 8 9 10 Sau >>

Mọi người tham khảo nhé. nếu dùng các bạn thay tham số vào là được



<html>
<head>
<title> Paging </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #FF0000;
}
a:active {
text-decoration: none;
}
-->
</style></head>
<script language="javascript">
function Goto(iPg)
{

document.form.curPg.value=iPg;
document.form.submit();
}
function Goto2(iPg)
{
document.form.submit();
}

</script>
<body>
<form action="<? echo $HTTP_SERVER_VARS['PHP_SELF']?>" name="form" method="post">
<?
$curPg=$HTTP_POST_VARS["curPg"];
$curPg=(isset($curPg))?$curPg:1;

$row=101;// Số bản ghi
$limit=5;// Số bản giới hạn trên trang
$maxPg=10; //Số hiển thị là 10(1 2 3 4 5 6 7 8 9 10)
if($row%$limit==0)
{
$Pg=(int)($row/$limit);
}
else
{
$Pg=(int)($row/$limit+1);
}
$paging=$Pg/$maxPg;
print "Pg=".$Pg."<br>curPg=".$curPg."<br>CurRow=".$curRo w."<br>";
$test=($curPg-1)*$limit+1;

$curRow=($test-1);
if(empty($curRow))
{
$curRow=0;
}
$i=1;

$text="";
while($i<=$curPg*$limit&&$i<=$Pg)
{
if($i>$curRow)
{
$text .= '<a href="javascript:Goto2('.$i.')"> '.$i." </a>";
}
$i++;
}
if($curPg>1)
{
print '<a href="javascript:Goto('.($curPg-1).')">Previous</a> ';


}
print '[ '.$text.' ]';
if($paging>$curPg)
{
print '<a href="javascript:Goto('.($curPg+1).')"> Next</a>';
print'<input type="hidden" name="curRow" value="'.($i-1).'">';
}

?>
<input type="hidden" name="curPg" value="<?=$curPg?>">
</form>
</body>
</html>
VuongChieuQuan viết 02:24 ngày 10/10/2018
Cái này giống cái của Phạm Hữu Khang nhỉ...
herofit viết 02:28 ngày 10/10/2018
Được gửi bởi VuongChieuQuan
Cái này giống cái của Phạm Hữu Khang nhỉ...
của ai cũng được miễn giải quyết được vấn đề nhỉ nhưng lấy của ai chú thích cái
viết 02:21 ngày 10/10/2018
Được gửi bởi VuongChieuQuan
Cái này giống cái của Phạm Hữu Khang nhỉ...
Ngày trước mình học PHP trên sách của Hữu khang, Và kết hợp viết cái Paging cho riêng mình.
diepnghitinh viết 02:16 ngày 10/10/2018
Được gửi bởi hscvn
Ngày trước mình học PHP trên sách của Hữu khang, Và kết hợp viết cái Paging cho riêng mình.
Nếu là vậy thì xin hãy nhận lời cảm ơn chân thành của mình thay cho nút thanks chưa dc hack nhá
Bài liên quan
0