php smarty分页原理,SMARTY分页详解

<?phprequire_once ('include/common.inc.php');//这里是个接口common.inc.php里面包函了一些常用到的函数类库以及SMARTYinclude_once('header.php');//调用头部信息,SESSION的信息全都保存在这里,这样做的好处是几乎所有的页面都不需要在开头输入session_start();$smarty= newSmarty_Calvin;//调用这个对象$smarty->caching=false;//不使用缓存$swe="SET NAMES gb2312;";//如果是使用MYSQL5的数据库的话,这样做是非常必要的。要不然极易出现乱码mysql_query($swe);//下面是数据库的关联查找,将得到数据库中的记录$sqle="SELECT calvin.did,calvin.title,calvin.voidbulk,calvin.databulk,

calvin.place,calvin.price,calvin.line,calvin.explan,

calvin.identify,

idcof_extend.identify,idcof_extend.pid,idcof_extend.pid,idcof_extend.start,idcof_extend.end,idcof_extend.taxis

FROM calvin,extend

WHERE calvin.identify = idcof_extend.identify

AND calvin.did = extend.pid

ORDER BY extend.taxis DESC";$resulte=mysql_query($sqle) or die(mysql_error());$ie=mysql_num_rows($resulte);//得到结果集的数量

//把结果集存到SMARTY可以用的数组中while(($rowe=mysql_fetch_array($resulte)) &&$ie>0)

{$arraye[] = array("dide"=>$rowe["did"],"titlee"=>$rowe["title"],"voidbulke"=>$rowe['voidbulk'],"databulke"=>$rowe['databulk'],"placee"=>$rowe['place'],"linee"=>$rowe['line'],"pricee"=>$rowe["price"],"explane"=>cutstr($rowe["explan"],180));//cutstr这个函数是自定义的,从COMMON。INC。PHP而来$ie--;

}$smarty->assign('arraye',$arraye);//把数组指向模板

//下面的部分是本教程的重点。

// get_template_vars返回一个指定的已赋值的模板变量的值$smartyArr=$smarty->get_template_vars();//print_R($smartyArr);

//记录总数,每页显示记录条数,总页数$pager_Total=count($smartyArr);//总记录数

//echo $pager_Total;$pager_Size=10;//设定每页显示的记录数$pager_Number=ceil($pager_Total/$pager_Size);//得到总页数,如果有小时就进一步取整$pager_URL="dummyhost.php?action=View";//获得当前页的页数,从REQUEST获得if(isset($_GET['pager_PageID'])&& !empty($_GET['pager_PageID'])){$pager_PageID=intval($_GET['pager_PageID']);

}else{//如果是第一次访问,则设定当前页为第一页$pager_PageID=1;

}//每页的起,始记录数

//如果当前页是第一页,则记录是从第0条记录开始的if ($pager_PageID==1) {$pager_StartNum=0;//如果当前页不是第一页,则记录是从当前的页数减去1乘以每页的显示记录数开始的} else {$pager_StartNum= ($pager_PageID-1) *$pager_Size;

}//当前页的结束记录数是起始记录数加上每页的显示记录数$pager_EndNum=$pager_StartNum+$pager_Size;//如果当前页是第一页,且总页数大于1if ($pager_PageID==1&&$pager_Number>1) {//第一页$pager_Links="上一页 | 下一页";//否则如果当前页是最后一页,且总页数大于1} elseif($pager_PageID==$pager_Number&&$pager_Number>1) {//最后一页$pager_Links="上一页 | 下一页";//否则如果当前页不是第一页,且当前页小于等于最后一页} elseif ($pager_PageID>1&&$pager_PageID<=$pager_Number) {//中间$pager_Links="上一页 | 下一页";//否则} else {$pager_Links="上一页 | 下一页";

}$smarty->assign('search','dummyhost_search.php');

include_once('dummyhost_ad.php');$smarty->assign('pager_Total',$pager_Total);$smarty->assign('pager_StartNum',$pager_StartNum);$smarty->assign('pager_EndNum',$pager_EndNum);$smarty->assign('pager_Links',$pager_Links);$smarty->display("dummyhost.tpl");

include_once('footer.php');

?>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值