热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SMARTY分页详解

使用SMARTY进行分页遇到问题的人们,将从这里学到如何更好的在SMARTY中进行分页....首先必需说明的是:这篇教程是我从别的教程改过来的,所以不能说是完全原创,但我把它说明的更加详细,以及提供了完备的示例..你将很清楚的理解里

使用SMARTY进行分页遇到问题的人们,将从这里学到如何更好的在SMARTY中进行分页....首先必需说明的是:这篇教程是我从别的教程改过来的,所以不能说是完全原创,但我把它说明的更加详细,以及提供了完备的示例..你将很清楚的理解里的每个变量的作用及其使用方法....希望这篇文字对对你产生帮助....如果,下面的文字真的对你产生了帮助,别忘了"呱唧呱唧"(鼓掌哦)!!! 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的数据库的话,000-834  这样做是非常必要的。要不然极易出现乱码
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);//得到 HP0-X02 1Y0-327 结果集的数量
//把结果集存到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'); 
?>


推荐阅读
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • Android Studio 安装与配置指南
    本教程详细介绍了如何下载并安装 Android Studio,包括设置 SDK 路径和优化启动性能的方法。通过这些步骤,您可以顺利地开始开发 Android 应用。 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 本文详细介绍了如何在PHP中实现基于概率的随机抽奖功能。通过实例代码,解释了抽奖逻辑、奖品设置及结果统计的方法。适合PHP开发者参考学习。 ... [详细]
  • 本文对宋代词人朱雍的《迷神引》进行翻译和赏析,深入探讨其词作的艺术特色与情感表达。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本文介绍如何使用PHP在WordPress中根据分类类别ID或名称获取所有相关文章,提供详细的方法和代码示例。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 小编给大家分享一下如何移除URL中的index.php,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
author-avatar
只属于天天的牛牛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有