IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> PHP

SMARTY分页详解

【 作者:googniao    来源:网络  更新时间:2006-12-5 | 字体:
使用SMARTY进行分页遇到问题的人们,将从这里学到如何更好的在SMARTY中进行分页....首先必需说明的是:这篇教程是我从别的教程改过来的,所以不能说是完全原创,但我把它说明的更加详细,以及提供了完备的示例..你将很清楚的理解里的每个变量的作用及其使用方法....希望这篇文字对对你产生帮助....如果,下面的文字真的对你产生了帮助,别忘了"呱唧呱唧"(鼓掌哦)!!!
<?php
require_once('include/common.inc.php');//这里是个接口common.inc.php里面包函了一些常用到的函数类库以及SMARTY
include_once('header.php');//调用头部信息,SESSION的信息全都保存在这里,这样做的好处是几乎所有的页面都不需要在开头输入session_start();
$smarty = new Smarty_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());
$iemysql_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 == ) {
$pager_StartNum 0;
//如果当前页不是第一页,则记录是从当前的页数减去1乘以每页的显示记录数开始的 
} else {
$pager_StartNum = ($pager_PageID -1) * $pager_Size;

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


相 关 文 章
相 关 软 件
没有相关下载
 放生
 够爱
 触电
 白狐
 真爱
 天路
 彩虹
 烟火
 日不落
 爱转角
 蓝眼泪
 青花瓷
 老人与海
 边做边爱
 牛仔很忙
 你的选择
 等一分钟
 冰河时代
 我最闪亮
 自由飞翔
 爱死了昨天
 会呼吸的痛
 我们的纪念
 做你的爱人
 爱大了受伤了
 上帝是个女孩
 思念是一种病
 只对你有感觉
 有没有人告诉你
 听着情歌流眼泪
 遇上你是我的缘
 在梵高的星空下
 找个好人就嫁了吧
 下辈子也要找到你
 全世界最伤心的人
 寂寞的时候说爱我
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.