喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
 16  1/2  1  2  > 
     
标题: [原创] 超简单而又实在的 SMARTY 分页  
 
sufing0x1
新手上路
Rank: 1
初级会员



UID 67433
精华 0
积分 24
帖子 20
金钱 24 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-23
状态 离线
超简单而又实在的 SMARTY 分页

看到许多人在发SMARTY 的分页,但总觉得不够简单。下面,我将以例子来说明这分页的使用。绝对的简单好用,显示的样式也多呀~
(源码文件一会打包)

补:效果图(图1)

以下是模版文件page.tpl.htm

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="css/home.css" rel="stylesheet" type="text/css" />
<link href="read.css" rel="stylesheet" type="text/css" />
<title>推荐导读</title>
</head>
<body>
<div class="row">
  <div class="tab_label" style="background-color:#FEF4F5; float:left">
   <div style="float:left; width:420px; overflow:hidden">
    <ul>
     {foreach from=$list item=rs key=key}
     <li>
      <span class="li_dot">4</span>
      <a target="_blank" href="#{$rs.Title}">{$rs.Title}</a>
     </li>
    {/foreach}
    </ul>
   </div>
  </div>
</div>
<p>
{pager rowcount=$totalpage limit=1 shift=1 no_first=true separator="|" class_text="pager_text" txt_pos="side"}
</body>
</html>
好了,让我们看看这一段:

{pager rowcount=$totalpage limit=1 shift=1 no_first=true separator="|" class_text="pager_text" txt_pos="side"}
这一段是主要的,也就是导航部分

separator="|"  就是页码之间的一个间隔

rowcount=$totalpage  总记录数

limit=1 页码间隔加1 假如设为2 可能会变成 1 3 5 7 .....

其它的也不重要吧,呵呵~,参数的具体设置可以查看function.pager.php (老外的。。。半懂半不懂)

那么我们的程序怎样写呢?

<?php
require_once("./includes/init.php");
/* SMARTY 分页 */
//$smarty->caching = false;   
$lady_url ="http://lady.poco.cn/";
$content = array();
$pagesize = 5;
$sql.=  "SELECT Image,Title,Intro,CreationDate,ContentID ".
      "FROM cms_db.cms_content_4 ".
   "WHERE Zine_type_id IN(5,6,7,11,24) ".
   "ORDER BY ContentID DESC ";
    $res = $db->query($sql);
    //结果集
    $total = $res->RecordCount();
    //记录条数
    $totalpage = ceil($total/$pagesize);
    //总页数
    $page = ceil($_GET["pos"])+1;
    //当前页
    $sql.= "limit ".($pagesize * ($page-1)).", ".$pagesize;
    //语句
    $idx = 0;
    $res = $db->query($sql);
    while ($rs = $res->FetchRow())
    {  
     $content[$idx]['Image']    = $rs['Image'];
     $content[$idx]['Title']    = $rs['Title'];
     $content[$idx]['Intro']    = $rs['Intro'];
     $content[$idx]['html_url']      = date("Y-m-d",$rs['CreationDate'])."/".$rs['ContentID'].".html";
     $content[$idx]['ContentID']   = $rs['ContentID'];
     
     $idx++;   
    }
   
    $smarty->assign('totalpage',$totalpage);
    $smarty->assign('list',$content);
    $smarty->assign('lady_url',$lady_url);
    $smarty->display("page.tpl.htm",$page);
?>
我们只要传给模版 $smarty->assign('totalpage',$totalpage); 就可以了。重要的部分我都有注解,应该明白吧!
$smarty->display("page.tpl.htm",$page); 目的是为了让它每一个页都生成一个新的页。。不然,刷来刷去都是同一个页。
最后,只要把function.pager.php 放到smarty\plugins 目录下,你就可调用分页了。

怎样?够简单了吧~打包程序给你们

看了要回贴啊,动力所在~


 附件: 您所在的用户组无法下载或查看附件



欢迎加入PHP技术交流群
3476875
2006-11-29 03:18 PM#1
查看资料  访问主页  发短消息  顶部
 
angelsing (angelsing)
注册会员
Rank: 2
一般会员



UID 31127
精华 0
积分 92
帖子 103
金钱 92 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-9-13
状态 离线
[推荐阅读] “file()”和“@file()”有什么区别?哪个更好些??
顶楼主,打包文件在哪呢?
2006-12-11 09:46 AM#2
查看资料  访问主页  发短消息  QQ  顶部
 
sufing0x1
新手上路
Rank: 1
初级会员



UID 67433
精华 0
积分 24
帖子 20
金钱 24 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-23
状态 离线
[推荐阅读] 看看语句哪块错了,运行浏览器就死
不好意思呀,忘记了,呵呵~

 附件: 您所在的用户组无法下载或查看附件



欢迎加入PHP技术交流群
3476875
2006-12-11 10:33 AM#3
查看资料  访问主页  发短消息  顶部
 
mdy_jun
注册会员
Rank: 2



UID 72596
精华 0
积分 178
帖子 159
金钱 178 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-4-30
状态 离线
[推荐阅读] 兄弟们一般把PHP配成isapi还是CGI的?
正好缺少的是这一方面的,学习一下~
2006-12-12 01:58 PM#4
查看资料  访问主页  发短消息  顶部
 
kao
高级会员
Rank: 4
厨娘


UID 16801
精华 0
积分 917
帖子 935
金钱 917 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2002-10-1
来自 杭州
状态 离线
[推荐阅读] 求助哪位高手帮忙解决一下smarty生成静态的路径问题
为什么不能下载
2006-12-14 03:06 PM#5
查看资料  发短消息  QQ  顶部
 
sufing0x1
新手上路
Rank: 1
初级会员



UID 67433
精华 0
积分 24
帖子 20
金钱 24 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-23
状态 离线
[推荐阅读] 有人要买我的玉米了
可以下载,在2楼~



欢迎加入PHP技术交流群
3476875
2006-12-14 03:23 PM#6
查看资料  访问主页  发短消息  顶部
 
phpx_goseaside (goseaside)
高级会员
Rank: 4
初看没有问题,细看全是问题


UID 30280
精华 1
积分 973
帖子 937
金钱 963 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2004-7-23
来自 北京
状态 离线
[推荐阅读] 那位高人能解决<IMG scr=' xx.php'>恶意调用的问题?
没见过更简单的,就号称超简单,唉。。。
2006-12-15 10:31 AM#7
查看资料  访问主页  发短消息  顶部
 
yltgood2
新手上路
Rank: 1



UID 72157
精华 0
积分 41
帖子 20
金钱 41 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-4-22
来自 上海
状态 离线
[推荐阅读] 大家帮帮我,这段代码怎么不起作用呀
smarty教程打包下载

下载地址:

http://www.88php.com/viewthread.php?tid=11&highlight=smarty




tao
2006-12-31 10:19 AM#8
查看资料  发短消息  顶部
 
Moonfly (Moonfly)
新手上路
Rank: 1
初级会员



UID 30881
精华 0
积分 11
帖子 15
金钱 11 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-9-2
状态 离线
[推荐阅读] 今天看代码发现写模板用的变量是{header}和=$xx 他们怎么用啊
貌似没多大用处,该计算的变量,还是要自己计算出来 $totalpage,$page,$res,$total............
smarty只不过起到一个输出分页导航条的作用,在程序方面并没有方便多少.
2007-1-2 10:57 AM#9
查看资料  发短消息  顶部
 
bg6aer (bg6aer)
注册会员
Rank: 2
初级会员



UID 19816
精华 0
积分 51
帖子 59
金钱 51 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2003-4-23
状态 离线
[推荐阅读] 从数据库中查询出的网页地址,做连接问题
sdfsadfsf
2007-6-9 11:45 PM#10
查看资料  访问主页  发短消息  顶部
 16  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024488 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP