分页效果的实现

<?php
//1,将数据库的所有记录查询出来,然后再一页一页的显示

$link=mysql_connect('localhost','root','123') ;
mysql_select_db('yanhua');


mysql_query("set names utf8");


//首先要=知道每页显示几条记录 pagesize
//第几页  page
//下一页要掠过之前的几个记录  offset
/*
0 0  0 0  0 0  0 0  0
page      offset    pagesize
  1   0       2
  2   2       2
  3   4    2
  4   6    2

*/
//我们还是通过传递page参数的形式来判断当前是第几页
//?page = 1 第一页  ?page=2 第二页  page=3 第三也
$pagesize = 2;
 $page = isset($_GET['page'])?$_GET['page']:1;

//通过page 和 pagesize  求出offset
$offset = $pagesize * ($page-1);

 

include ("libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->reInitSmarty("demo/templates","demo/templates_c","demo/config","demo/cache");
$array_new=array();
$sql = "select * from news limit $offset,$pagesize";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)){
$array_new[]=$row; 
}
//var_dump($array_new);
$smarty->assign("array_new",$array_new);
$smarty->display("news.tpl");

$sql = "select count(*) as total  from news";
$result = mysql_query($sql);
//总的记录数
$row = mysql_fetch_assoc($result);
$total_rows = $row['total'];

$total_page = ceil($total_rows/$pagesize);
echo '<a href="new.php">首页</a>';
//第一页的时候没有上一页
if($page > 1){
 echo '<a href="new.php?page='.($page-1).'">上一页</a>';
 echo '&nbsp;';
}
//尾页的时候不显示下一页
if($page < $total_page){
 echo '<a href="new.php?page='.($page+1).'">下一页</a>';
  echo '&nbsp;';
}

echo '<a href="new.php?page='.$total_page.'">尾页</a>';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值