PHP世界
PHP爱好者乐园
PHP博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
11 随笔 :: 0 文章 :: 8 评论 :: 0 Trackbacks
<
2024年3月
>
日
一
二
三
四
五
六
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2008年4月 (2)
2008年3月 (1)
2008年1月 (5)
2007年12月 (2)
2007年11月 (1)
MY favorite website
chinese tea
fashion jewelry
tiffany bracelets
tiffany co jewelry
tiffany jewelry
tiffany jewelry
搜索
最新评论
1. re: PHP通用分页类
分类页在哪?
--Jianor
2. re: Linux备份策略研究
备份是作为系统管理必不可少的工作
--网上买书
3. re: PHP 中的正则表达式
正则表达式非常有用的
--网上买书
4. re: PHP中路径问题的解决方案
不错,就是不知道具体的那个“包含文件相对于程序根目录的绝对路径”的意思
--tryrty
5. re: Apache服务器使用.htaccess实现图片防盗链方法教程
怎么我搞了半天都搞不定
--车托
阅读排行榜
1. PHP通用分页类(2487)
2. PHP 中的正则表达式(2218)
3. Apache服务器使用.htaccess实现图片防盗链方法教程(1209)
4. PHP5的异常处理 (1207)
5. php操作php文件 (1121)
评论排行榜
1. 用PHP开发GUI(1)
2. php用session做客户验证时的注意事项(1)
3. Apache服务器使用.htaccess实现图片防盗链方法教程(1)
4. php操作php文件 (1)
5. PHP中路径问题的解决方案(1)
PHP通用分页类
如果你学过Asp.net,你一定知道它里面有一个叫datalist之类自带的分页功能十分强大,这里的这个类就模拟了一部份这个功能,我敢用“强大”来定义它,是因为作为一个通用的页类,这个类真正做到了“通用”。
废话少说,马上介绍一下是如何使用的。
1、先新建一个用于测试的表
CREATE TABLE `test` (
`aa` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`bb` VARCHAR(50) NOT NULL,
`cc` VARCHAR(50) NOT NULL,
`tt` INT DEFAULT '0' NOT NULL
);
2、制作一个模板文件,保存为:test.htm
{dede:page pagesize=15/}
<table width='100%' border='0' cellpadding='1' cellspacing='1' bgcolor='#CCCCCC'>
<tr bgcolor='#F8FFEE' align='center'>
<td width='10%'>aa</td>
<td width='30%'>bb</td>
<td width='30%'>cc</td>
<td width='30%'>tt</td>
</tr>
{dede:datalist}
<tr bgcolor='#FFFFFF' align='center'>
<td>[field:aa/]</td>
<td>[field:bb/]</td>
<td>[field:cc/]</td>
<td>[field:tt function='date("Y-m-d H-i-s","@me")'/]</td>
</tr>
{/dede}
<tr bgcolor='#F8FFEE'>
<td colspan='4'>
{dede:pagelist listsize=3/}
</td>
</tr>
</table>
3、编写调用这个类的代码
数据库的连接信息均在config_base.php这个文件是设定
showtable.php
<?
require("inc_datalist.php");
$dlist = new DataList();
$dlist->Init();
$dlist->SetTemplet("./test.htm");
$dlist->SetSource("select * from ttt");
$liststring = $dlist->Display();
$dlist->Close();
?>
看看效果,做一个分文件就这么简单,还完全实现了页面与逻辑分离
假如我要增加一个GET字符串传递给查询应该怎么做呢?
Easy
假如增加的查询串为 keyword
<?
require("inc_datalist.php");
if(!isset($keyword)) $keyword="";
$dlist = new DataList();
$dlist->Init();
$dlist->SetParameter("keyword",$keyword);
$dlist->SetTemplet("./test.htm");
$dlist->SetSource("select * from ttt where bb like '%$keyword%'");
$liststring = $dlist->Display();
$dlist->Close();
?>
还有什么不能解决吗?
假如有一个字段是布尔值,我想输出时按不同情况输出不同内容,其实不难实现
Dede模板引擎支持使用自定义函数
<?
require("inc_datalist.php");
if(!isset($keyword)) $keyword="";
function GetMyName($mname)
{
if($mname=="dede") return "My Name";
else return $mname;
}
$dlist = new DataList();
$dlist->Init();
$dlist->SetParameter("keyword",$keyword);
$dlist->SetTemplet("./test.htm");
$dlist->SetSource("select * from ttt where bb like '%$keyword%'");
$liststring = $dlist->Display();
$dlist->Close();
?>
在程序里不用做什么,需要做的事情是更改一下模板
[field:aa function="GetMyName('@me')"/]
这样返回的值就是函数返回的值。
这样几乎达到尽善尽美的境界,唯一的是分页列表的链接是固定的,不过你可以对它进行改进。
( from
tiffany jewelry
)
posted on 2008-03-14 10:14
loveairnike
阅读(2487)
评论(1)
编辑
收藏
引用
网摘
评论
#
re: PHP通用分页类
2008-05-20 22:42
Jianor
分类页在哪?
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
IT新闻
博客园
BlogJava
博客生活
IT博客网
C++博客
程序员招聘
Powered by:
PHP博客
Copyright © loveairnike