`
xyc20080413
  • 浏览: 12731 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

smarty分页

    博客分类:
  • php
阅读更多
<?php
require '../libs/Smarty.class.php';

$smarty = new Smarty;
$smarty->force_compile = true;
$smarty->debugging = true;
$smarty->caching = true;
$smarty->cache_lifetime = 120;

$count = 100;
$pagesize = 10;
$totalpage = 10;
$url = 'index.php';
$left = 3;
$right = 3;

if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

//赋值
$smarty->assign('count', $count);    //记录总数
$smarty->assign('pagesize', $pagesize);    //每页记录数
$smarty->assign('totalpage', $totalpage);    //总页数
$smarty->assign('page', $page);    //当前页数
$smarty->assign('url', $url);    //链接地址

$smarty->assign('left', $left);    //数字链接左侧长度
$smarty->assign('right', $right);    //数字链接右侧长度

//显示
$smarty->display('main.tpl');
?>

 模板文件1:main.tpl

{*分页内容展示*}
{*传递变量*}
{include 'page.tpl' count=$count pagesize=$pagesize totalpage=$totalpage page=$page url=$url left=$left right=$right}

 模板文件2: page.tpl

{if $totalpage>1} 
   <a href="{$url}">首页</a> 
   {if $page>1}
   <a href="{$url}?page={$page-1}">上一页</a> 
   {/if}

    {*数字链接*}
    {if $totalpage<$left+$right+1}    {*总页数小于数字链接长度时*}
       //定义循环起始值
        {assign var="start" value=1}
        {assign var="end" value=$totalpage}
    {else}
        {assign var="start" value=$page-$left}
        {assign var="end" value=$page+$right} 
        {if $page <= $left}         {*当前页左侧长度不足指定值时 *}
            {assign var="start" value=1}
            {assign var="end" value=$left+$right+1}
        {/if}
        {if $page >= $totalpage- $right}    {*当前页右侧长度不足指定值时*}
            {assign var="end" value=$totalpage}
            {assign var="start" value=$totalpage-$left-$right}
        {/if}
    {/if}

    {*循环输出数字链接 *}
    {for $foo=$start to $end}
        {if $page == $foo} 
	<a href="{$url}?page={$foo}">{$foo}</a> 
	{else}
	<a href="{$url}?page={$foo}">{$foo}</a> 
	{/if}
    {/for}

    {if $page<$totalpage} 
    <a href="{$url}?page={$page+1}">下一页</a> 
    {/if}
    <a href="{$url}?page={$totalpage}">尾页</a> 
{/if}

 效果图:

 
 

  • 大小: 1.6 KB
分享到:
评论

相关推荐

    轻轻松松学会smarty分页

    Smarty是一个流行的PHP模板引擎,它将视图与逻辑分离,使得网页设计更加整洁,开发者和设计师的工作更加协调。本教程将详细介绍如何...现在,你已经不再需要为Smarty分页感到苦恼了,可以轻松地在项目中运用这一技术。

    抽象出一个类用于php,smarty分页

    总结来说,通过创建`Paginator`类和Smarty分页插件,我们可以轻松地在PHP项目中实现高效、灵活的分页功能。这种方法不仅提高了代码的可重用性,还简化了模板文件中的复杂逻辑,让开发者能更好地专注于各自的工作领域...

    php+smarty分页类的具体使用之一

    从给定的文件信息来看,我们正在探讨的是一个基于PHP和Smarty模板引擎的分页功能实现。这个场景涉及到了数据库查询、数据展示以及分页逻辑的处理,是Web开发中非常常见且重要的一个环节。接下来,我们将深入分析这段...

    smarty登陆分页

    Smarty是一个流行的PHP模板引擎,它将业务逻辑与呈现逻辑分离,...通过对这些文件的分析,我们可以更深入地学习如何在实际项目中应用Smarty实现登录和分页功能。同时,不断优化和改进代码,以提高用户体验和系统性能。

    PHP smarty 分页

    2. ** Smarty 分页插件**:Smarty提供了一个分页插件`{paginate}`,它可以轻松地在模板中生成分页链接。首先,你需要在Smarty实例化时启用这个插件,然后在控制器中计算总页数和当前页数,最后传递这些信息到模板。 ...

    smarty商品分页

    在本场景中,“smarty商品分页”指的是利用Smarty来实现电商网站或其他含有商品列表的网页的分页功能,以提高网页加载速度和用户体验。 分页是网页设计中一个重要的功能,特别是在展示大量数据如商品列表时,分页...

    Smarty分页实现方法完整实例

    总的来说,Smarty分页实现涉及到数据库查询、PHP逻辑处理和Smarty模板的结合使用。通过理解这个实例,开发者可以更好地掌握Smarty模板引擎以及如何在PHP项目中实现分页功能。对于Smarty的深入学习,可以参考相关的...

    php+mysql+smarty的分页原理-适用于初学者

    本文将深入探讨PHP、MySQL和Smarty分页的原理,并提供适用于初学者的实践指导。 首先,我们要理解分页的基本概念。分页是将大量数据按固定数量分割成多个部分(页)进行显示,以提高用户体验,避免一次性加载过多...

    smarty简单分页的实现方法

    Smarty是一款流行的PHP模板引擎,它将业务逻辑与视图设计分离,使得开发者可以更专注于页面设计,而不用关心PHP代码。在本实例中,我们将探讨如何在Smarty中...不过,这个基本实现已经足够理解Smarty分页的基本思路。

    PHP结合Smarty

    3. ** Smarty分页插件**:Smarty有一些内置的插件(plugins)可以帮助我们生成分页链接。比如,`paginate_links`插件可以创建一个分页链接列表。在模板文件中使用: ```smarty {paginate_links pages=$pages current...

    php+MVC思想+Smarty+MYSQL后台管理系统(数据库文件补充)

    对php+MVC思想+Smarty+MYSQL后台管理系统 里面的数据库文件缺失表示道歉,这里为大家补全回来了。对不起了各位。用户名为:siyizhen 密码为:x140010

    PHP+Smarty+mysql 用户登录注册分页显示

    在本文中,我们将深入探讨如何使用PHP编程语言结合Smarty模板引擎和MySQL数据库来构建一个用户登录注册系统,并实现分页显示。Smarty是一个流行的PHP模板引擎,它的主要目的是将业务逻辑与视图设计分离,使代码更...

    Smarty简单示范

    在这个"Smarty简单示范"中,我们将探讨如何使用Smarty来实现多样式分页以及一个简单的管理后台系统。 首先,Smarty的工作原理是通过创建一个模板文件,将HTML代码与PHP变量和控制结构混合在一起。然后,Smarty引擎...

    php+smarty输出新闻列表

    在实际项目中,还可以加入分页功能、搜索功能、排序选项等,以提供更丰富的用户体验。同时,确保对用户输入进行验证和过滤,以防止SQL注入等安全问题。在开发过程中,良好的代码组织和文档记录也是必要的,有助于...

    Ajax+smarty技术实现无刷新分页

    Ajax+Smarty技术实现无刷新分页是一种在Web开发中常用的技术组合,主要用于提高用户体验和减轻服务器负担。这里分别介绍技术涉及的关键点:Ajax技术、Smarty模板引擎、PHP后端处理以及HTML前端设计。 Ajax...

    博客系统 php小项目

    用到smarty分页类 修改头像 index.php 用户登陆 index.php login.php loginresult.php 成功-&gt;index.php 失败-&gt;login.php 使用cookie 日志列表 listarticle.php 用到smarty分页类 日志详情 showarticle...

    smarty Pager

    在Smarty Pager的帮助下,开发者可以轻松地在模板中实现内容的分页展示,提高用户体验,同时减轻服务器负载。 首先,让我们深入理解SmartyPager的工作原理。SmartyPager主要通过计算总记录数、每页显示的记录数以及...

    最新版smarty插件

    6. **插件系统**:Smarty提供了一系列内置的插件,如日期格式化、文本替换、分页等,同时支持自定义插件扩展功能。 7. **变量过滤**:Smarty允许为变量设置预处理和后处理函数,确保数据在渲染前后的安全性。 8. *...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    10-20 8 smarty分页技术 10-20 9 10-22 1 ajax介绍 无刷新验证用户名 10-22 2 ajax如何处理xml格式返回数据 10-22 3 json 10-22 4 ajax如何处理json格式返回数据 10-22 5 ajax应用 省市联动 10-22 6 ajax应用 黄金...

    史上最全传智播客PHP就业班视频课,8月份视频

    10-20 8 smarty分页技术 10-20 9 10-22 1 ajax介绍 无刷新验证用户名 10-22 2 ajax如何处理xml格式返回数据 10-22 3 json 10-22 4 ajax如何处理json格式返回数据 10-22 5 ajax应用 省市联动 10-22 6 ajax应用 黄金...

Global site tag (gtag.js) - Google Analytics