欢迎来到六久阁织梦模板网!
织梦用dede:sql实现列表页分页教程

织梦用dede:sql实现列表页分页教程

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2018-07-21

文章简介

将织梦dede:list标签进行改造,使用SQL标签实现静态分页,在自定义表单调用的分页用他就很方便 例如会员列表的模板标签写法 {dede:listsql sql=select * from dede_member pagesize=10} lia href=https://www.lol9.cn/[field:XX /].html[field:XX /]/a/li {/d

  • 正文开始
  • 热门文章

将织梦dede:list标签进行改造,使用SQL标签实现静态分页,在自定义表单调用的分页用他就很方便


例如会员列表的模板标签写法

{dede:listsql sql="select * from dede_member" pagesize="10"}

<li><a href="https://www.lol9.cn/[field:XX /].html">[field:XX /]</a></li>

{/dede:listsql}

<!--分页-->

{dede:pagelist/}


实现教程

打开include/arc.listview.class.php 找到

if(!is_object($ctag))

{

$ctag = $this->dtp->GetTag("list");

}


在下面加入

if(!is_object($ctag))

{

    $ctag = $this->dtp->GetTag("listsql");

    if(is_object($ctag))

    {

        $cquery = $ctag->GetAtt("sql");

        //$sql = str_replace('~reid~',$this->ReID,$cquery); 这是另一个客户要求的获取url第2个参数才加的。

        $cquery = preg_replace("/SELECT(.*?)FROM/is", " SELECT count(*) as dd FROM ", $sql);

        $cquery = preg_replace("/ORDER(.*?)SC/is", "", $cquery);

        $row = $this->dsql->GetOne($cquery);

        if(is_array($row))

        {

            $this->TotalResult = $row['dd'];

        }

        else

        {

            $this->TotalResult = 0;

        }

    }

}


继续找到

else if($ctag->GetName()=="pagelist")

在它上面加入

else if($ctag->GetName()=="listsql")

{

    $limitstart = ($this->PageNo-1) * $this->PageSize;

    $row = $this->PageSize;

    if(trim($ctag->GetInnerText())=="")

    {

        $InnerText = GetSysTemplets("list_fulllist.htm");

    }

    else

    {

        $InnerText = trim($ctag->GetInnerText());

    }

    $this->dtp->Assign($tagid,

    $this->GetSqlList(

    $limitstart,

    $row,

    $ctag->GetAtt("sql"),

    $InnerText

    ));

}


最后找到

function GetPageListST(

在它上面加入

function GetSqlList($limitstart = 0, $row = 10, $sql = '', $innertext)
{
    global $cfg_list_son;
    $innertext = trim($innertext);
    if ($innertext == '')
    {
        $innertext = GetSysTemplets('list_fulllist.htm');
    }
    //处理SQL语句
    $limitStr = " LIMIT {$limitstart},{$row}";
    $sql = str_replace('~reid~',$this->ReID,$sql);
    
    $this->dsql->SetQuery($sql . $limitStr);
    $this->dsql->Execute('al');
    $t2 = ExecTime();
    //echo $t2-$t1;
    $sqllist = '';
    $this->dtp2->LoadSource($innertext);
    $GLOBALS['autoindex'] = 0;
    //获取字段
    while($row = $this->dsql->GetArray("al"))
    {
        $GLOBALS['autoindex']++;
        if(is_array($this->dtp2->CTags))
        {
            foreach($this->dtp2->CTags as $k=>$ctag)
            {
                if($ctag->GetName()=='array')
                {
                    //传递整个数组,在runphp模式中有特殊作用
                    $this->dtp2->Assign($k,$row);
                }
                else
                {
                    if(isset($row[$ctag->GetName()]))
                    {
                        $this->dtp2->Assign($k,$row[$ctag->GetName()]);
                    }
                    else
                    {
                        $this->dtp2->Assign($k,'');
                    }
                }
            }
        }
        $sqllist .= $this->dtp2->GetResult();
    }//while
    $t3 = ExecTime();
    //echo ($t3-$t2);
    $this->dsql->FreeResult('al');
    return $sqllist;
}


完成,注意代码放置的位置,有的是在上面有的是在下面。

织梦二次开发QQ群

本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » 织梦用dede:sql实现列表页分页教程

  • 织梦dedecms手机站m目录下不生成index.html实现动态更新
    阅读
    用 织梦建站 会手机站首页不更新的苦恼,每次 PC 更新,要去删除 m 目录下的 index.html ,手机站首页才会更新,这样很麻烦,通过以下修改,让手机站首页是动态的,不生成 index.html , PC 端更新后,手机端首页自动更新。 把 \m\index.php 里面的 $row[sho...
  • 织梦Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201的解决方法
    阅读
    织梦系统安装好后,进入后台,出现Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201 一般出现这个问题是因为升级网站引起的。我们可以直接把错误提示这段代码删除或者屏蔽就行了。 打开/dede/sys_info.php,找到201...
  • 织梦Dedecms 5.7 火车头采集免登陆发布接口适配PHP7.X插件
    阅读
    最近有粉丝说,之前用的火车头发布文章时,用免登陆接口在PHP7.0环境中显示空白,于是今天抽空更新了一下插件(话说,DedeCms早期版本无法在PHP7.X运行,用最新版的!),那么接下来的代码就是插件发布模块无须变更,只需要变更接口插件就可以了 ?php/*/////...
  • 织梦dedecms系统多城市分站功能开发思路
    阅读
    当前很多人用织梦dedecms系统建站,多城市分站对地方性长尾关键词和全国市场的推广有着很大的帮助,今天和大家分享下如何实现织梦dedecms系统多城市分站功能。 方法/步骤 织梦dede城市分站有三种方法: 第一种是建立N多个模板,有多少个城市建立多少个模板,...
  • 织梦dedecms提交自定义表单后发送到指定邮箱
    阅读
    网上很多教程都是用 dedecms 自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用 phpmailer 来给站长发送自定义表单提交的数据到指定邮箱上 (QQ 邮箱, 163 邮箱都可以 ) ,不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先...
  • dedecms织梦ckplayer视频播放器插件详细安装教程
    阅读
    织梦 ckplayer 视频播放器插件安装步骤: 第一步、下载安装插件。下载地址:点击此处 将下载下来的压缩包中的相应编码的模块文件解压出来再上传到织梦程序的 data/module/ 文件夹内或者直接在后台模块管理菜单里面选择上传新模块安装即可。如下图: 1.1 )上...
  • 织梦5.7火车头免登陆文章发布模块采集后自动更新织梦整站
    阅读
    织梦5.7火车头免登陆文章发布模块采集后自动更新织梦整站详细步骤: 1、下载文档后,把DedeCMS免登陆接口文章发布模块DedeCMS 5.7 免登陆接口文章发布模块.wpm复制到火车头采集规则文件夹Module下; 2、选择您网站对应的接口文件.如您网站是gbk编码,请选择 g...
  • 织梦采集侠破解版自动采集触发教程24小时触发自动审核自动更新
    阅读
    最新采集侠V2.9.2破解版,可以在网站进行全自动数据采集,采集侠破解版可以帮助用户快速提升自己网站的Seo排名。 织梦采集侠是一款基于dedecms的一套根据关键词自动采集,无须编写复杂的采集规则,自动伪原创,自动发布内容的绿色插件。简单配置好后能实现24...
  • 织梦dedecms网站添加打赏功能
    阅读
    有时我们看到别人家的织梦dedecms网站有打赏功能,是不是羡慕嫉妒恨呢?今天我来给大家讲讲织梦网站怎么添加支付宝、微信打赏功能。 二、首先登陆畅言后台(没有畅言账号的首先注册账号) 三、进入后台,找到实验室--打赏 四、设置配置信息,保存。 五、复制...
  • 织梦火车头采集免登陆接口采集文章后自动更新栏目、首页、文章页,实现自动化采集
    阅读
    最近用织梦dedecms程序采集文章时候,发现每次采集都要去后台更新一下文章、栏目、上下篇以及首页,操作起来真心麻烦,后面在网上收集了一些代码以及经过自己调试,发现居然可以自动更新文章页以及栏目、首页。真心爽,这样子就能稳稳的挂机采集了哈。这是免...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
织梦table页面如何循环取余输出tr
« 上一篇 2018年07月21日
织梦搜索实现全文检索模糊搜索的方法
下一篇 » 2018年07月19日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多
现代简约HTML5自适应家装设计类织梦模板
更新时间:2018-04-17

人已经看过了!

织梦中英双语服装连锁加盟店模板(响应式自适应)
更新时间:2019-09-19

人已经看过了!

网页模板/视频素材/图片分享/源码商城站长交易平台
更新时间:2017-08-10

人已经看过了!