我的BLOG开张了,做好准备喔!!!
PHP学习 PHP翻页【还没有写成函数】
上一篇 /
下一篇 2007-08-10 09:52:16
/ 个人分类:技术文章
$sql="select * from ord ";
$confir=$_GET[confir];//这里应该要考虑sql被注入
if ($confir!="") $sql.="where confirmation=$confir order by id desc";//可以单独查出定单的四种状态
$result=mysql_query($sql,$con);
$arra=array();
while ($row=mysql_fetch_assoc($result))
{
$arra[]=$row;
}
$everypage=5;//每页显示的数量
$page=$_GET[page];//当前为第几页
if($page==""){
$page=1;
}
$countnum=count($arra);//总记录数
$totalpage=ceil($countnum/$everypage);//总页数ceil关键字可以将小数进位转化成整数
$next=$page+1;//后一页
$before=$page-1;//前一页
if($page>=$totalpage) $next="";
if($page<=1) $before="";//得到前一页和后一页的页码数,当大于最大页和小于第一页时相应为空
for($i=($page-1)*$everypage;$i<$page*$everypage;$i++){
if ($arra[$i]!=""){
$arr[]=$arra[$i];
}
}
ASP中翻页能写死人,PHP用数组就方便太多了,甚至还想到了另外一种方法用sql 的limit来读记取,但为了得到总记录和当前读取的记录需要两次查徇数据库,不知道哪种方法好一点。这里面$arr是最终当前页显示的记录,$arra是查徇的总记录,通过对数组的重排实现分页,可以很方便的把数组存信smarty模板中。一会写成函数
下面这个是网上的一个纯用smarty写的模板,没看明白,留着以后研究下
smarty的简单分页
以下是模板中的smarty代码,用smarty简单的代入相关的变量就行了,非常简单,但是在php代码中还要传入page这个参数。我觉得这样分挺好,非常简单。我越来越喜欢用smarty了
{if $pageCount > 1}
{foreach item=i from=$pagerList}
{if $pageNum eq $i}
{$i}
{else}
<a href ="/space/index.php?uid={$userId}&page={$i}">{$i}</a>
{/if}
{/foreach}
{if $pageNum eq 1}
上一页
{else}
<a href ="/space/friendlist.php?uid={$userId}&page={$pagePre}">上一页</a>
{/if}
{if $pageNum eq $pageCount }
下一页
{else}
<a href ="/space/friendlist.php?uid={$userId}&page={$pageNext}">下一页</a>
{/if}
{if $pageNum eq 1}
首页
{else}
<a href ="/space/friendlist.php?uid={$userId}&page=1">首页</a>
{/if}
{if $pageNum eq $pageCount}
最后一页
{else}
<a href ="/space/friendlist.php?uid={$userId}&page={$pageCount}">最后一页</a>
{/if}
{/if}
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: