羊年到来之际,终于解决了灵动标签分页的问题了.一直以来在论坛有很多人帮助了我,总是索取没有奉献很过意不去,所以这里我也分享一下经验!

大家知道灵动标签在效率方面和使用上极其灵活,不象其他的标签你要掌握好要动很多的脑子,操作起来还很麻烦,稍不留神不是这里就是那里错误了.并且其他标签在打开时效上也不如灵动标签,但是一直以来灵动标签有一个致命的问题就是分页问题, 想想看,如果你的数据越来越多,你不可能放一页吧,正因为这个,列表页我一直不用灵动标签,这也是没有办法.所以一直想把灵动标签这个问题解决了.搜了一下论坛,问这个问题的朋友也不少,很多问答是,标签无法分页,就完了,真的这样吗,其实不然的.

我这里解决的方法是用了李炎恢老师的方法,这里要感谢他,向他致敬!同时也要感谢朋友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灵动标签分页的实现方法相关推荐

  1. 帝国导航高亮显示(只支持一级栏目,灵动标签)

    <ul>     <li class="<?=$public_r[home]?'cur':''?>"><a href="[!-- ...

  2. 灵动标签 php脚本,帝国CMS灵动标签PHP代码实现标签无限嵌套的效果

    对于熟悉帝国CMS的朋友大都知道使用灵动标签进行特定信息的调用,而灵动标签的强大功能远非如此. 灵动标签的PHP函数是: sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类 ...

  3. 帝国cms php序号,帝国cms教程:如何使用灵动标签生成带序号的列表

    对于使用过dedecms的站长朋友来说,dedecms确实很好用,但是漏洞和缺点却太多了,经常性的网站被黑,挂马问题重重.就拿无忧主机php空间来说,大部分dedecms用户找过来基本都是这种问题导致 ...

  4. 帝国搜索模板不支持php,解决帝国CMS搜索模板不支持灵动标签的方法

    帝国CMS搜索模板调用灵动标签的时候调用不出内容的解决方法,此方法来源于帝国CMS大学.个人根据教程修改使用后能成功获得到帝国CMS文章,并分享给所以帝国CMS爱好者使用. 帝国CMS搜索模板代码修改 ...

  5. 解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法

    解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法 参考文章: (1)解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法 (2)https://www.cnblogs.com/ityz/p ...

  6. 帝国cms搜索功能小结

    帝国cms搜索功能,分为栏目内搜索和全站搜索,并且都有模板. 1.全站全文搜索  一.全站搜索介绍: 1.全站全文搜索说明: 帝国CMS6.0以上版本新增全站全文搜索功能,采用中文分词.编码转码和My ...

  7. 帝国cms纯php调用,帝国CMS模板中:使用php调用最新文章的代码(非灵动和万能标签)...

    在帝国CMS模板制作中经常遇到想灵活实现效果的地方,比如跨表,结合判断等复杂调用.使用万能标签和灵动标签不足以满足要求的情况下就只能使用PHP的方法来实现!具体代码如下: $w_query=" ...

  8. 帝国cms中常用标签/灵动标签/判断语句

    帝国cms中常用标签(总结) 在帝国cms实际建站应用中,对首页.列表页.内容页这三个页面模板支持的变量是不同的.爱折腾的摄影大叔将帝国cms中常用标签/灵动标签/判断语句(帝国cms中常用标签总结归 ...

  9. 帝国CMS灵动标签e:loop

    帝国cms二次开发的时候,很多地方都需要调用信息,可以用万能标签调用,当然也可以用今天我们要说的灵动标签e:loop调用需要的信息! 1.灵动标签公式 [e:loop={栏目ID/专题ID,显示条数, ...

最新文章

  1. 结构型模式---适配器模式
  2. android 自由复制与粘贴功能
  3. 牛逼哄哄的SLAM技术即将颠覆哪些领域
  4. 意外地调用了方法或属性访问
  5. 在ACCESS中使用Group By语句
  6. 项目管理、bug管理工具 ---禅道使用流程
  7. 百度运维部电子竞技大赛!
  8. git分布式版本管理系统和github平台
  9. 引擎国产化,VGS引领三维引擎新时空
  10. oracle imp仅导入数据
  11. 英语4级的分数如何计算机,英语四级的分数是怎么计算的?
  12. 目前找到的对龙枪最清晰的介绍。
  13. Python 随机漫步
  14. 共享店铺系统如何设计?具体如何做?
  15. 前端程序员偷懒工具:emmet语法
  16. python 安装spyder和问题
  17. 用python画小鸭_python中的鸭子类型(协议)和接口
  18. 10 张有关程序员的趣图,图图戳心
  19. c语言在测绘工程中的作用,测绘C程序设计实习报告
  20. 下载java常用jar包的网站和方法

热门文章

  1. 手写 React 第 4 节 - 实现 Fiber
  2. msrcr(Multi-Scale Retinex with Color Restoration) 带色彩恢复的多尺度视网膜增强算法 整理
  3. spring boot自动化配置
  4. 《Wireshark数据包分析实战(第2版)》目录—导读
  5. iMessage群发,苹果群发技术开源
  6. 简单的《找不同汉字版》,来考考你的眼力吧
  7. 工业互联网与高端装备健康管理解决方案
  8. [Inside HotSpot] C1编译器HIR的构造
  9. Git-fatal: unable to access ‘https://gitlab.XX.git/‘: Could not resolve host: gitlab.XX.com.cn
  10. esc键 qt 退出菜单_qt之esc键