Lập trình phân trang (chia trang) cho dữ liệu xuất ra từ MySql

Đây là nội dung 1 code chia trang đơn giản cho dữ liệu từ sql xuất ra
$c="SELECT count(*) FROM bảng";
$c=mysql_query($c);
$total=mysql_result($c,0);
$p = $_GET['p'];
if(empty($_GET['p'])) $p=1;
if($p > 1) $hal=' Page #'.$p;
$show=10; //số dòng trên trang
if($total==0){
echo '<div>Trống</div>;
}else{
$pg=ceil($total/$show);
if($p>$pg && $p!=1)
$p=$pg;
if($p<1)
$p=1;
$j = ($p-1) * $show;
$a=mysql_query("select * from bảng order by id desc limit $j, $show;");
while($arr=mysql_fetch_array($a))
{
echo 'nội dung 1 user. Biến '.$arr['tên_cột'].' để sử dụng.';
}
if($total > $show){
echo '<div>';
$sc= 10; // số trang show ra
$st=floor($p/$sc)*$sc;
$en=$st+$sc;
$g=$st;
if($g<"2") print('');
else
if($g>"0") {if($g-1 == 1) {$page='?';} else{$page='?p='.($g-1).'';}
print('<a href="'.$page.'">[&laquo;]</a> ');}
else
print("");
for($g;($g<$en);$g++){
if($g=="1" and $g!=$p){
print('<a href="?">1</a> ');
}elseif($g=="1" and $g==$p){
print('[<b>1</b>] ');
}elseif($g==$p){
print(' [<b>'.$g.'</b>] ');
}elseif($g<=$pg){
if($g>"0") {if($p!="1") {$xx="$g";} else{$xx=$g;}
print('<a href="?p='.$xx.'">'.$g.'</a> ');} }else{
print(' ');
} }
if($g<=$pg) {if(empty($_GET['p'])) {$xx=$g;} else{$xx=''.$g;}
print('<a href="?p='.$xx.'">[&raquo;]</a>');}else
print(' '); }
echo '</div>'; }
Chúc bạn thành công
FOLLOW US

Leave a Reply

Your email address will not be published. Required fields are marked *