织梦模板用{dede:sql}标签如何实现分页
未知
2023-11-21 10:58:57
0
打开include/arc.listview.class.php这个文件


1,找到 if(!is_object($ctag))
        {
            $ctag = $this->dtp->GetTag("list");
        }


        //dede:sql分页设置
 if(!is_object($ctag))
  {
   $ctag = $this->dtp->GetTag("listsql");
   if (is_object($ctag))
   {
    $cquery = $ctag->GetAtt("sql");
    $cquery = preg_replace("/SELECT(.*?)FROM/is", " SELECT count(*) as dd FROM ", $cquery);
    $cquery = preg_replace("/ORDER(.*?)SC/is", "", $cquery);
    $row = $this->dsql->GetOne($cquery);
    if(is_array($row))
    {
     $this->TotalResult = $row['dd'];
    }
    else
    {
     $this->TotalResult = 0;
    }
   }
  }
2,找到  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
    )
    );
   }
   //end
          
3,找到 ‘获取静态的分页列表’,在这个函数后面添加
 /**
   * 通过listsql标签中sql属性传入的参数来获得一个单列的文档列表
   * */
  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}";
 
   $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;
  }

html页面使用

{dede:listsql  sql="select * from dede_archives  arc LEFT JOIN dede_addonarticle  adds ON adds.typeid=arc.typeid where adds.yunlink <>''" pagesize='10'}

                <div class="rowlist">
                    <div class="item layui-col-lg3">
                        <a href="/plus/view.php?aid=[field:id/]"><img src="[field:litpic/]" style="width: 208px;height: 132px;"></a>                       
                    </div>                
                </div>
                {/dede:listsql}
                <div class="layui-box layui-laypage layui-laypage-default">
                    {dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
                   
                </div>

相关内容

MySQL变量的生命周期管...
MySQL变量管理关键在于生命周期控制。需了解全局、会话及用户自定...
2024-11-20 20:46:37
MySQL变量类型与用途
MySQL支持多种数据类型,包括数值、字符串、日期和时间等类型,以...
2024-11-20 20:23:37
MySQL变量的作用域与访...
摘要: MySQL变量具有作用域和访问控制,局部变量限于特定上下...
2024-11-20 20:00:40
MySQL变量类型列表
MySQL变量类型包括数值、字符串、日期和时间等类型,用于存储不同...
2024-11-20 19:46:45
MySQL变量数据类型介绍
MySQL支持多种数据类型,包括数值、字符串、日期时间及枚举和集合...
2024-11-20 19:23:39
MySQL变量定义与初始化
MySQL变量分为系统变量和用户定义变量,用于存储数据和配置参数。...
2024-11-20 19:00:42

热门资讯

dedecms织梦上传缩略图没... 问题描述: dedecms织梦发布文章页面,表单缩略图在[站内选择]点击后,上传图片后没图片。或者修...
织梦后台一键更新所有出现空白问... 问题描述: 我织梦后台更新所有的时候,只更新到id为4 之后就成为空白 没有下文了,这是什么情况? ...
百度搜索网站后点击跳转到彩票赌... 问题描述: 在公司有一个官网,近期总是有人 告诉我,在百度搜索网站名称,点击后网站跳转到彩票赌博类网...
dede织梦后台添加文章,提示... 问题描述: 安装dedecms织梦的时候,一切安装完成,进入后台添加网站栏目,在网站栏目下添加文章的...
dede删除会员文章中的图片 问题描述: 会员在删除自己写的文章的时候,一般只会删除缩略图,并不会删除文章中的图片,这就造成了图片...
dede织梦 跳转指定页面并刷... 问题描述: 在给评论添加回复功能的时候,遇到了跳转问题。评论区是在artilce_article.h...
织梦dedecms添加或者增加... 第一步:执行SQL命令为数据库的栏目表结构添加一个字段(执行选多行命令),在后台也可以在数据库里面也...
dede PDF下载在线浏览 问题描述: 在普通文章内容模型中添加一个字段,上传PDF文件。 解决办法: 第一步: 在后台打开附件...
dedecms调用评论最多的文... dede cms评论最多的文章排行版代码调用,并且调用第一条评论内容。 { dede : sql s...
dede织梦使channela... 在dedecms织梦5,3手册中,我们可以看到只有channel标签可以支持currentstyle...