php专区

 首页 > php专区 > PHP应用 > CMS建站 > dedecms {dede:sql}标签用法详解

dedecms {dede:sql}标签用法详解

分享到:
【字体:
导读:
         [导读] 本教程讲解dedecms {dede:sql}标签用法详解 功能说明:用于从模板中用一个SQL查询获得其返回内容 适用范围:全局使用 基本语法: {dede:sqlsql=}底层模板{/dede:sql} 调用列表 {dede:sqlsql=select*...

本教程讲解dedecms {dede:sql}标签用法详解

功能说明:用于从模板中用一个SQL查询获得其返回内容

适用范围:全局使用

基本语法:

 

{dede:sql sql=""}底层模板{/dede:sql}


调用列表

 

{dede:sql sql="select  * From dede_archives  limit 10"}
  • ·[field:title/]
  • {/dede:sql}

     


    1.调用某个特定会员发布的文章内容

     

    {dede:sql sql='Select * from dede_archives where mid=1'}
    [field:title/]
    {/dede:sql}

    mid为用户ID可以参考二次开发中关于dede_archives的数据表字段介绍

    下面我们再来详细的看看{dede:sql}标签其它实例

     

    
           
             
    ⊙下载排行
             
               {dede:sql sql="select a.id as aid,a.typeid,a.title,a.pubdate,d.id as did,d.downloads from mo_archives as a,mo_downloads as d where a.id = d.id and a.arcrank=0 and a.typeid!= 15 and a.typeid != 44 and (UNIX_TIMESTAMP()-a.pubdate)/3600/24 BETWEEN 0 AND 15 order by d.downloads desc limit 0,10;"}                
  •                  [field:title function='cn_substr(@me,26)'/] -下载数:[field:downloads/]
  • {/dede:sql}                      
                 

    首页调用文章正文内容,比较好的解决方法:

    方法一:

     

    {dede:sql sql="SELECT aid,typeid,body,body1,body2,body3,body4,body5 FROM `dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0,1"}
    [field:body /] [field:body1 /] [field:body2 /] [field:body3 /] [field:body4 /] [field:body5 /]
    {/dede:sql}


    方法二:

     

    {dede:sql sql="SELECT aid,typeid,body FROM `dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0,1"}
    [field:body /]
    {/dede:sql}

    调用说明:

    其中typeid=2,栏目ID号,表示调用此ID栏目内的文章,换成 aid=1 则表示调用的 aid 为 1 的文章,

    DESC 表示排序,按从大到小排,换成 ASC 则按从小到大排序,

    LIMIT 0,1 表示调用数量,也可以写成数量LIMIT 1,这个1代表调用的数量。


    dede sql 标签 取出来的列表 实现分页

     

    {dede:php}
            
            //获取当前页数
            if(isset($_GET['page'])){
                $page = intval($_GET['page']);
            }
            else {
                $page=1;
            }
            $PageSize = 3; //每页的记录数量
            // 获取总数量
            
            $sql = “SELECT count(*) FROM js_archives WHERE writer = ‘开发建设科’”;
            $result = mysql_query($sql);
            $row = mysql_fetch_row($result);
            $amount = $row[0];
            /*计算总页数
            if($amount){
                if($amount<$PageSize) {
                    $PageCount = 1;
                }
                if($amount%$PageSize) { //总数量除以每页的记录数量取于
                    $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1
                }
                else{
                    $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数
                }
            }
            else{
                $PageCount = 0;
            }*/
            $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量  如果有小树,则进位< span style=”color: #008000;”>
            if($Page>$PageCount|$page==0){// 如果当前页数大于总页数
                echo “不能发现此页!”;
                exit();
            }
          
            //翻页链接
            $PageOut = ”;
            if($page==1){//如果页数只有一页
            
                $PageOut .= ‘第一页|上一页’;
            }
            else{
                $PageOut .= ‘第一页|上一页|’;
            }
            if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
                $PageOut .= ‘下一页|尾页’;
            }
            else{
                $PageOut .=  ‘下一页|尾页’;
            }
            //获取数据
            if($amount){
            $sql=”select * FROM js_archives WHERE writer = ‘开发建设科’ limit “.($page-1)*($PageSize).”,$PageSize”;
            
            $result=mysql_query($sql);
            while($row=mysql_fetch_array($result)){//此段代码只是示例
           
                $blogs[] = array(‘id’=>$row['id'],’title’=>$row['title']);
                foreach ($blogs as $blog){
                $title=$blog['title'];
                $id=$blog['id'];
               
                echo <<< EOT
                     

    $title EOT; unset($blogs);             }                                  }         for($i=1;$i<=$PageCount;$i++){//数字分页            $Pageshow = ($i!=$page)?”$i”:”$i”;            echo $PageShow;          }          echo $amount.’条记录,每页’.$PageSize.’条,共’.$PageCount.’页’;         }                  echo $PageOut;  {/dede:php}    根据自己的情况 把SQL写上 然后把 list.php 里的   if($lv->IsError) {  //ParamError(); }


    分享到:
    dedecms {dede:php}标签用法介绍
    dedecms怎么取得 循环 ID 值呢?具体代码如下 最简单的输入如 {dede:php}   $numA = 1;   $numB = 2;   echo $numA + $numB; {/dede:php} 从上面语句可以看出dede:php标签可以名符其实的让在php中一样的用法,上面语句在php写法如下 是不是看上去很像啊,再看一个再有if else 条件判断的 [field:global...
    dedecms一键删除回收站所有内容sql命令
    dedecms一键删除回收站所有内容sql命令 delete detest_addonarticle,detest_archives,detest_arctiny from detest_addonarticle,detest_archives,detest_arctiny where detest_addonarticle.aid=detest_archives.id and detest_arctiny.id=detest_archives.id and detest_archives.arcrank=&#039;-2&#039;
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……