dedecms {dede:sql}标签用法介绍

先来看官方的说明

功能说明:用于从模板中用一个SQL查询获得其返回内容
适用范围:全局使用
基本语法:

 代码如下 复制代码
{dede:sql sql=""}底层模板{/dede:sql}

调用列表

 代码如下 复制代码
 {dede:sql sql="select  * From dede_archives  limit 10"}
<li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>
{/dede:sql}
 

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

 代码如下 复制代码
{dede:sql sql='Select * from dede_archives where mid=1'}
<a href='/plus/view.php?aid=[field:id/]' target='_blank'>[field:title/]</a>
{/dede:sql}

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

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

 代码如下 复制代码

<div class="hot mt1">
       <dl class="tbox">
         <dt><strong>⊙下载排行</strong></dt>
         <dd>
           <ul class="c1 ico2">{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;"}
               <li>
                 <a title="[field:title /]" href="[field:aid function=GetinfoUrl(@me,10) /]">[field:title function='cn_substr(@me,26)'/]</a> -下载数:<font color='red'>[field:downloads/]</font></li>
{/dede:sql}
           </ul>
         </dd>
       </dl>
     </div>

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

方法一:

 代码如下 复制代码

{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 .= ‘<a href=”/plus/list.php?tid=30&page=1″>第一页</a>|<a href=”/plus/list.php?tid=30&page=’.($page-1).’”>上一页</a>|’;
        }
        if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
            $PageOut .= ‘下一页|尾页’;
        }
        else{
            $PageOut .=  ‘<a href=”/plus/list.php?tid=30&page=’.($page+1).’”>下一页</a>|<a href=”/plus/list.php&tid=30?page=’.$PageCount.’”>尾页</a>’;
        }
        //获取数据
        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
                 <tr><td width=”550″><p><a href=’/plus/view.php?aid=$id’ target=’_blank’>$title</a></td></tr>
EOT;
unset($blogs);
            }
          
           
        }
        for($i=1;$i<=$PageCount;$i++){//数字分页
           $Pageshow = ($i!=$page)?”<a href=’/plus/list.php?tid=30?page=”.$i.”‘>$i</a>”:”<b>$i</b>”;
           echo $PageShow;
         }
         echo $amount.’条记录,每页’.$PageSize.’条,共’.$PageCount.’页’;
        }
       
        echo $PageOut;
 {/dede:php}

 

 根据自己的情况 把SQL写上 然后把 list.php 里的

 代码如下 复制代码
if($lv->IsError)
{
 //ParamError();
}
时间: 2024-07-28 19:31:48

dedecms {dede:sql}标签用法介绍的相关文章

dedecms {dede:php}标签用法介绍

最简单的输入如  代码如下 复制代码 {dede:php} $numA = 1; $numB = 2; echo $numA + $numB; {/dede:php} 从上面语句可以看出dede:php标签可以名符其实的让在php中一样的用法,上面语句在php写法如下  代码如下 复制代码 <? $numA=1; $numB=2; echo $numA+$numB; ?> 是不是看上去很像啊,再看一个再有if else 条件判断的  代码如下 复制代码 [field:global runphp

dede:sql标签中调用文章链接url地址的方法

文章链接url地址的方法-"> {dede:sql sql="SELECT a.*,m.* FROM `dede_archives` a LEFT JOIN `dede_moives` m ON a.id=m.aid WHERE a.channel=18 LIMIT 0,10"} <a href="[field:id runphp='yes']$arcRow=GetOneArchive(@me);@me=$arcRow['arcurl'];[/field

dedecms中sql标签调用数据实现方法({dede:sql}标签)

官方关于{dede:sql}介绍 标签名称:sql功能说明:用于从模板中用一个SQL查询获得其返回内容适用范围:全局使用基本语法:{dede:sql sql=""}底层模板{/dede:sql}参数说明:sql="" 完整的SQL查询语句底层模板字段:SQL语句中查出的所有字段都可以用[field:字段名/]来调用 应用实例: 1.调用某个特定会员发布的文章内容  代码如下 复制代码 {dede:sql sql='Select * from dede_archive

JSP中操作数据库的常用SQL标签用法总结_JSP编程

<sql:setDataSource>标签设定数据源 语法结构: 复制代码 代码如下:     <sql:setDataSource url="jdbcUrl" driver="driverClassName" user="userName" password="password" [var = "varName"][scope="{page | request | sessio

DedeCMS全局标签sql|SQL标签

sql|SQL标签 标签名称:sql功能说明:用于从模板中用一个SQL查询获得其返回内容适用范围:全局使用基本语法:{dede:sql sql=""}底层模板{/dede:sql}参数说明:sql="" 完整的SQL查询语句相关函数:文件\include\taglib\sql.lib.php第6行function lib_sql(&$ctag,&$refObj) 底层模板字段:SQL语句中查出的所有字段都可以用[field:字段名/]来调用应用实例:

JSTL标签库:SQL标签库

SQL标签库 JSTL提供了与数据库相关操作的标签,可以直接从页面上实现数据库操作的功能,在开发小型网站是可以很方便的实现数据的读取和操作.本章将详细介绍这些标签的功能和使用方法. SQL标签库从功能上可以划分为两类:设置数据源标签.SQL指令标签. 引入SQL标签库的指令代码为: <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> 1 设置数据源 使用<sql:set

MyBatis使用动态SQL标签的小陷阱_java

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 现在MyBatis越来越受大家的喜爱了,它的优势大家都知道,我就不多说了,直接说重点. MyBatis中提供动态SQL功能,我们可以使用<if><when&

jQuery常见的选择器及用法介绍_jquery

选择器的意义就是将众多html代码中准确的找出我们想找的单元. 接下来将常见的选择器以及作用列举出来. 基本选择器 $('#test1').css('background' , 'gray'); 可以找到id = test1的单元. $('p').css('background' , 'blue'); 所有的P标签都会被选中. $('.test2').css('background' , 'green'); Class = test2的单元全部被选中. $('*').css('backgroun

JSP中一些JSTL核心标签用法总结_JSP编程

一.JSTL介绍JSTL(JavaServer Pages Standard Tag Library)由JCP(Java Community Process)指定标准,提供给 Java Web 开发人员一个标准通用的标签函数库.和 EL 来取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序可读性.维护性和方便性.JSTL 主要由Apache组织的Jakarta Project 实现,容器必须支持Servlet 2.4 且JSP 2.0 以上版本. JSTL下载地址: