SMARTY分页详解
2008-03-31 14:04
302 查看
使用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()); $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; //如果当前页是第一页,且总页数大于1 if ($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'); ?>
相关文章推荐
- SMARTY分页详解,希望听到掌声!!
- SMARTY分页详解
- iBatis开发详解(5)-----------分页(Struts、freeMark)
- Smarty的分页实现
- JavaWEB--POI之EXCEL操作、优化、封装详解系列(六)--PoiExportUtil使用文档(2)分页
- mybatis分页插件pageHelper详解及简单实例
- 详解Oracle的几种分页查询语句
- 详解Oracle的几种分页查询语句【转】
- AspNetPager 与分页存储过程详解
- asp.net web页面自定义分页控件使用详解
- ASP.NET技巧:GridView控件自定义分页详解第二页
- 在PHP模板引擎smarty生成随机数的方法和math函数详解
- ASP分页详解
- Smarty的分页实现
- Zend Framework+smarty用法实例详解
- 详解Oracle的几种分页查询语句
- mysql分页查询详解
- EasyUI Datagrid 客户端分页详解
- jquery easyui datagrid 分页 详解
- 【JDBC详解】连接池与分页