Smarty分页实现方法完整实例


Posted in PHP onMay 11, 2016

本文实例讲述了Smarty分页实现方法。分享给大家供大家参考,具体如下:

首先是PHP文件部分:

<?php
require("include.php"); //包含smarty配置部分
require 'conn.php'; //包含数据库配置部分
$pagesize=10; //设置每页数据显示数量
$url=$_SERVER['REQUEST_URI'];
$url=parse_url($url);
$url=$url['path'];
$sql="SELECT * FROM `wp_links`";
$db_list=mysql_query($sql);
$num=mysql_num_rows($db_list); //统计数据总数
$pages=$num/$pagesize;
$pages=ceil($pages); //求出一共需要多少页进行显示
if ($_GET['page']){
 $pageval=$_GET['page'];
 $page=($pageval-1)*$pagesize;
 }
if($num>$pagesize){
 if (!isset($pageval)) $pageval=1;
}
if ($pages==1){ //如果总页面只有一页的话,将“上一页”“下一页”的标签替换为空。
 $pageup="";
 $pagedown="";
}else{
switch($pageval){
 case 1 :{
 $pageup="首页";
 $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>";
 break;
 }
 default :{
 $pageup="<a href=$url?page=".($pageval-1).">上一页</a>";
 $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>";
   break;
 }
 case $pages :{
 $pageup="<a href=$url?page=".($pageval-1).">上一页</a>";
 $pagedown="末页";
 break;
  }
}
}$smarty->assign("pageconfig",$pageconfig);
//==================================================
$sql_list="SELECT * FROM `wp_links` LIMIT $page,$pagesize";    //由此控制数据显示数量部分
$db_list_list=mysql_query($sql_list);
while($row=mysql_fetch_array($db_list_list)){
 $page_list[]=array("id"=>$row['link_id'],"url"=>$row['link_url'],"name"=>$row['link_name']);   //将数据库中查询内容重新赋值
}
$pageconfig="当前第 $pageval 页,共 $pages 页";
$smarty->assign("pageconfig",$pageconfig);
$smarty->assign("pageup",$pageup);
$smarty->assign("pagedown",$pagedown);
$smarty->assign("title",$page_list);
$smarty->display("index.htm");
?>

下面为模板的编写部分:

<table>
 <tr>
 <td>id</td>
 <td>url</td>
 <td>name</td>
 </tr>
{section name=list loop=$title}
 <tr>
 <td>{$title[list].id}</td>
 <td>{$title[list].url}</td>
 <td>{$title[list].name}</td>
 </tr>
{/section}
 </table>
{$pageup}{$pagedown}{$pageconfig}

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP开发中四种查询返回结果分析
Jan 02 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
探讨如何把session存入数据库
Jun 07 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
php解析xml方法实例详解
May 12 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
关于PHP开发的9条建议
Jul 27 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
Jul 26 PHP
php简单获取复选框值的方法
May 11 #PHP
php上传图片类及用法示例
May 11 #PHP
php通过smtp邮件验证登陆的方法
May 11 #PHP
Smarty变量用法详解
May 11 #PHP
基于PHP实现商品成交时发送短信功能
May 11 #PHP
Smarty环境配置与使用入门教程
May 11 #PHP
理解php依赖注入和控制反转
May 11 #PHP
You might like
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
python做量化投资系列之比特币初始配置
2018/01/23 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
python实现录音小程序
2020/10/26 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
如何做好总经理助理
2013/11/12 职场文书
烹饪自我鉴定
2014/03/01 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
租房安全协议书
2014/08/20 职场文书
个人授权委托书格式
2014/08/30 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
婚宴新郎致辞
2015/07/28 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python