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:
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:
Bài liên quan
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.
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>