一、分页制作
1.设置页大小(即在一页内显示多少条数据)
2.计算记录总数(共有多少条数据)
3.计算页总数(共需多少页来显示所有数据)
4.获取当前页码
5.过滤越界
6.组装sql语句
7.准备sql语句
8.发送sql语句
9.添加分页的超链接
//1.设置页大小(即在一页内显示多少条数据) $page_size=#; //2.计算记录总数(共有多少条数据) $sql="select count(*) from table_name"; $res=mysql_query($sql); $data=mysql_fetch_assoc($res); mysql_free_result($res); $count=$data['count(*)']; if($count==0){ //当无数据时 $page_count=1; $page_num=1; $limit=""; }else{ //3.计算页总数(共需多少页来显示所有数据) $page_count=ceil($count/$page_size); //进一法取整 //4.获取当前页码 $page_num=empty($_GET['page'])?1:$_GET['page']; //5.过滤越界 if($page_num<1){ $page_num=1; }elseif($page_num>$page_count){ $page_num=$page_count; } //6.组装sql语句 $limit=" limit ".($page_num-1)*$page_size.",".$page_size; } //7.准备sql语句 $sql="select * from table_name order by id".$limit; //8.发送sql语句 $res=mysql_query($sql); //9.添加分页的超链接 ?> <a href="?page=1">首页</a> <a href="?page=<?php echo ($page_num-1);?>">上一页</a> <a href="?page=<?php echo ($page_num+1);?>">下一页</a> <a href="?page=<?php echo ($page_count);?>">尾页</a> 当前第<?php echo $page_num;?>页 共<?php echo $page_count;?>页 本页有<?php if($count==0){ echo $count; }else{ echo ($page_num!=$page_count || $count%$page_size==0)?$page_size:($count%$page_size); } ?>条数据 共<?php echo $count;?>条数据
二、页码制作
例1:
显示5页的页码
if($page_count<=5){ for($i=1;$i<=$page_count;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ if($page_num<=3){ for($i=1;$i<=5;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ if($page_num+2<=$page_count){ for($i=($page_num-2);$i<=($page_num+2);$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ for($i=($page_count-4);$i<=$page_count;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } } } } //要使页码中的当前页颜色突出,在echo时加判断 if($i==$page_num){ echo "<a style='color:red;' href='?page=".$i."'>".$i."</a>"; }else{ echo "<a href='?page=".$i."'>".$i."</a>"; }
例2:
显示10页的页码
if($page_count<=10){ for($i=1;$i<=$page_count;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ if($page_num<=6){ for($i=1;$i<=10;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ if(($page_num+4)<=$page_count){ for($i=($page_num-5);$i<=($page_num+4);$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } }else{ for($i=($page_count-9);$i<=$page_count;$i++){ echo "<a href='?page=".$i."'>".$i."</a>"; } } } }