帝国cms搜索php分页,帝国cms灵动标签分页的实现方法
羊年到来之际,终于解决了灵动标签分页的问题了.一直以来在论坛有很多人帮助了我,总是索取没有奉献很过意不去,所以这里我也分享一下经验!
大家知道灵动标签在效率方面和使用上极其灵活,不象其他的标签你要掌握好要动很多的脑子,操作起来还很麻烦,稍不留神不是这里就是那里错误了.并且其他标签在打开时效上也不如灵动标签,但是一直以来灵动标签有一个致命的问题就是分页问题, 想想看,如果你的数据越来越多,你不可能放一页吧,正因为这个,列表页我一直不用灵动标签,这也是没有办法.所以一直想把灵动标签这个问题解决了.搜了一下论坛,问这个问题的朋友也不少,很多问答是,标签无法分页,就完了,真的这样吗,其实不然的.
我这里解决的方法是用了李炎恢老师的方法,这里要感谢他,向他致敬!同时也要感谢朋友SweatHeart.Co.给与的大力帮助!
解决方法如下:
1,复制下面这个两个函数,放入帝国e/class/userfun.php文件内
function _page($_sql,$_size) {
//将里面的所有变量取出来,外部可以访问
$empire=new mysqlquery();
global $_page,$_pagesize,$_pagenum,$_pageabsolute,$_num;
if (isset($_GET['page'])) {
$_page = $_GET['page'];
if (empty($_page) || $_page < 0 || !is_numeric($_page)) {
$_page = 1;
} else {
$_page = intval($_page);
}
} else {
$_page = 1;
}
$_pagesize = $_size;
$_num = $empire->num($_sql);
if ($_num == 0) {
$_pageabsolute = 1;
} else {
$_pageabsolute = ceil($_num / $_pagesize);
}
if ($_page > $_pageabsolute) {
$_page = $_pageabsolute;
}
$_pagenum = ($_page - 1) * $_pagesize;
}
/**
* _paging分页函数
* @param $_type
* @return 返回分页
*/
function _paging($_type) {
global $_page,$_pageabsolute,$_num;
if ($_type == 1) {
echo '
echo '
- ';
for ($i=0;$i
if ($_page == ($i+1)) {
echo '
'.($i+1).'';
} else {
echo '
'.($i+1).'';
}
}
echo '
';
echo '
';
} elseif ($_type == 2) {
echo '
echo '
- ';
echo '
'.$_page.'/'.$_pageabsolute.'页 | ';
echo '
共有'.$_num.'个 | ';
if ($_page == 1) {
echo '
首页 | ';
echo '
上一页 | ';
} else {
echo '
首页 | ';
echo '
上一页 | ';
}
if ($_page == $_pageabsolute) {
echo '
下一页 | ';
echo '
尾页';
} else {
echo '
下一页 | ';
echo '
尾页';
}
echo '
';
echo '
';
}
}
2 列表模板中写入分页函数取值,这里写一个样例供大家参考
global $_pagesize,$_pagenum;
_page("SELECT hd_ecms_shop.id FROM hd_ecms_shop WHERE hd_ecms_shop.classid = 13",10);//第一个参数获取总条数,第二个参数,指定每页多少条
?>
[e:loop={"SELECT hd_ecms_shop.id, hd_ecms_shop.classid, hd_ecms_shop.titleurl, hd_ecms_shop.title FROM hd_ecms_shop WHERE hd_ecms_shop.classid = 13 LIMIT {$_pagenum},{$_pagesize}",10,24,0}]
=$bqr['title']?>
[/e:loop]
//_pageing函数调用分页,1|2,1表示数字分页,2表示文本分页
_paging(2);?>
分页css文件
#page_num { height: 20px; clear: both; padding: 20px 0; position: relative; }
#page_num ul { position: absolute; right: 30px; height: 20px; }
#page_num ul li { float: left; width: 26px; height: 20px; }
#page_num ul li a { display: block; width: 20px; height: 20px; line-height: 20px; border: 1px solid #333; text-align: center; text-decoration: none; }
#page_num ul li a:hover, #page_num ul li a.selected { background: #666; font-weight: bold; color: #fff; }
#page_text { height: 20px; clear: both; padding: 20px 0; }
#page_text ul { text-align: center; }
#page_text ul li { display: inline; }
#page_text ul li a { color: #333; }
帝国cms使用分页函数的技巧:
帝国自带前台分页函数page2,需要的参数为:
$search='&classid=13'; //sql语句需要的参数从此获取
$classid=(int)$_GET['classid'];
$start=0;
$page=(int)$_GET['page'];
$line=20; //每页显示20条
$page_line=12;
$offset=$page*$line;
//获取总数
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_shop where classid='$classid'");
//分页
$returnpage=page2($num,$line,$page_line,$start,$page,$search);
$query="select * from {$dbtbpre}ecms_shop where classid='$classid' limit $offset,$line";
$sql=$empire->query($query);
while($r=$empire->fetch($sql)){
echo $r[title];
}
echo $returnpage;
?>
一个完整的演示:
将以下代码粘贴到新建的do.php文件,放到网站根目录,运行 http://网址/do.php?classid=你的栏目id,就可以看到分页函数的演示了。这个演示仅限news数据表的栏目。
require('e/class/connect.php');
require('e/class/db_sql.php');
require('e/class/functions.php');
$link=db_connect();
$empire=new mysqlquery();
$classid=(int)$_GET['classid'];
$search='&classid='.$classid;
$start=0;
$page=(int)$_GET['page'];
$line=2;
$page_line=12;
$offset=$page*$line;
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news where classid='$classid'");
$returnpage=page2($num,$line,$page_line,$start,$page,$search);
$query="select * from {$dbtbpre}ecms_news where classid='$classid' limit $offset,$line";
$sql=$empire->query($query);
while($r=$empire->fetch($sql)){
echo $r[title]."
";
}
echo $returnpage;
db_close();
$empire=null;
?>
帝国cms搜索php分页,帝国cms灵动标签分页的实现方法相关推荐
- 帝国导航高亮显示(只支持一级栏目,灵动标签)
<ul> <li class="<?=$public_r[home]?'cur':''?>"><a href="[!-- ...
- 灵动标签 php脚本,帝国CMS灵动标签PHP代码实现标签无限嵌套的效果
对于熟悉帝国CMS的朋友大都知道使用灵动标签进行特定信息的调用,而灵动标签的强大功能远非如此. 灵动标签的PHP函数是: sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类 ...
- 帝国cms php序号,帝国cms教程:如何使用灵动标签生成带序号的列表
对于使用过dedecms的站长朋友来说,dedecms确实很好用,但是漏洞和缺点却太多了,经常性的网站被黑,挂马问题重重.就拿无忧主机php空间来说,大部分dedecms用户找过来基本都是这种问题导致 ...
- 帝国搜索模板不支持php,解决帝国CMS搜索模板不支持灵动标签的方法
帝国CMS搜索模板调用灵动标签的时候调用不出内容的解决方法,此方法来源于帝国CMS大学.个人根据教程修改使用后能成功获得到帝国CMS文章,并分享给所以帝国CMS爱好者使用. 帝国CMS搜索模板代码修改 ...
- 解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法
解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法 参考文章: (1)解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法 (2)https://www.cnblogs.com/ityz/p ...
- 帝国cms搜索功能小结
帝国cms搜索功能,分为栏目内搜索和全站搜索,并且都有模板. 1.全站全文搜索 一.全站搜索介绍: 1.全站全文搜索说明: 帝国CMS6.0以上版本新增全站全文搜索功能,采用中文分词.编码转码和My ...
- 帝国cms纯php调用,帝国CMS模板中:使用php调用最新文章的代码(非灵动和万能标签)...
在帝国CMS模板制作中经常遇到想灵活实现效果的地方,比如跨表,结合判断等复杂调用.使用万能标签和灵动标签不足以满足要求的情况下就只能使用PHP的方法来实现!具体代码如下: $w_query=" ...
- 帝国cms中常用标签/灵动标签/判断语句
帝国cms中常用标签(总结) 在帝国cms实际建站应用中,对首页.列表页.内容页这三个页面模板支持的变量是不同的.爱折腾的摄影大叔将帝国cms中常用标签/灵动标签/判断语句(帝国cms中常用标签总结归 ...
- 帝国CMS灵动标签e:loop
帝国cms二次开发的时候,很多地方都需要调用信息,可以用万能标签调用,当然也可以用今天我们要说的灵动标签e:loop调用需要的信息! 1.灵动标签公式 [e:loop={栏目ID/专题ID,显示条数, ...
最新文章
- 结构型模式---适配器模式
- android 自由复制与粘贴功能
- 牛逼哄哄的SLAM技术即将颠覆哪些领域
- 意外地调用了方法或属性访问
- 在ACCESS中使用Group By语句
- 项目管理、bug管理工具 ---禅道使用流程
- 百度运维部电子竞技大赛!
- git分布式版本管理系统和github平台
- 引擎国产化,VGS引领三维引擎新时空
- oracle imp仅导入数据
- 英语4级的分数如何计算机,英语四级的分数是怎么计算的?
- 目前找到的对龙枪最清晰的介绍。
- Python 随机漫步
- 共享店铺系统如何设计?具体如何做?
- 前端程序员偷懒工具:emmet语法
- python 安装spyder和问题
- 用python画小鸭_python中的鸭子类型(协议)和接口
- 10 张有关程序员的趣图,图图戳心
- c语言在测绘工程中的作用,测绘C程序设计实习报告
- 下载java常用jar包的网站和方法
热门文章
- 手写 React 第 4 节 - 实现 Fiber
- msrcr(Multi-Scale Retinex with Color Restoration) 带色彩恢复的多尺度视网膜增强算法 整理
- spring boot自动化配置
- 《Wireshark数据包分析实战(第2版)》目录—导读
- iMessage群发,苹果群发技术开源
- 简单的《找不同汉字版》,来考考你的眼力吧
- 工业互联网与高端装备健康管理解决方案
- [Inside HotSpot] C1编译器HIR的构造
- Git-fatal: unable to access ‘https://gitlab.XX.git/‘: Could not resolve host: gitlab.XX.com.cn
- esc键 qt 退出菜单_qt之esc键