在Dede系统里面,可以使用SQL语句来配合织梦标签进行更多的个性化调用,今天毛仔整理了一些Dede(织梦)系统利用sql语句调用相关标签的代码,现在分享给大家,有错误的请尽管指正,有遗漏的也欢迎大家补上~
调用的代码基本格式为:
{dede:sql sql='select
字段 From 数据库名.表名称 where 条件语句'}
[field:字段名/]
{/dede:sql}
举例,调用文档列表的代码
{dede:sql sql='select
* From dede_archives where typeid=1 limit 10'}
<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a>
{/dede:sql}
说明:如果是在相同数据库内不需要加数据库名称,否则就要在表名称前面加"数据库名.",比如“dedecms.dede_archives”;如果不指定调用哪个栏目的文章则去掉“where typeid=1”;如果调用多个栏目的文章则代码格式为“where typeid='1' or typeid='2'”;用order by id desc 可以设列表排序,by id表示按id从大到小排列,这个语句用的时候加在 表名称后面, limit 10表示调用最新的10条文档,可以自由设定调用的数量。
以上调用出来的文档的链接为动态链接,如果调用静态链接地址,代码格式为:
{dede:sql sql="SELECT * FROM dede_archives limit 10"}
<li><a href='[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]'title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>{/dede:sql}
以上代码经毛仔测试过能够调用处本系统内的文章以及静态调用地址,但是如果是多个dede系统嵌套的话,可以调用处文章标题,但是调不出静态地址,不晓得大家有什么其他好主意不?不过能够调出来了文章的id,只要你的文章命名命的好,可以通过id调用处静态地址。
调用提问标题和提问内容
{dede:sql sql='Select * from dede_ask where status=1 order by id desc limit 0,3'}
<a href="/ask/question.php?id=[field:id/]">[field:title function="cn_substr(@me, 10)"/]</a><br>
[field:content function="cn_substr(@me, 10)"/]…
{/dede:sql}
调用提问标题和最佳答案
{dede:sql sql='Select q.id,q.title,a.askid,a.ifanswer,a.content from dede_ask as q,dede_askanswer as a where q.status=1 and a.ifanswer=1 and q.id=a.askid and q.bestanswer=a.id order by q.id desc limit 0,3'}
<dt><a href="/ask/question.php?id=[field:id/]">[field:title function="cn_substr(@me, 10)"/]</a></dt>
<dd>[field:content function="cn_substr(@me, 10)"/]…</dd>
{/dede:sql}
毛仔还从网上找了一些其他标签调用的代码
共有文章:** 篇
{dede:sql sql="select count(*) as c from dede_archives where channel=1"}·共有文章:[field:c /]篇{/dede:sql}
共有图集:** 个
{dede:sql sql="select count(*) as c from dede_archives where channel=2"}·共有图集:[field:c /]个{/dede:sql}
共有软件:** 个
{dede:sql sql="select count(*) as c from dede_archives where channel=3"}·共有软件:[field:c /]个{/dede:sql}
共有评论:**条
{dede:sql sql="select count(*) as c from dede_feedback"}·共有评论:[field:c /]条{/dede:sql}
共有会员:**名
{dede:sql sql="select count(mid) as c from dede_member "}·共有会员:[field:c /]名{/dede:sql}
文章阅读:** 人次
{dede:sql sql="select sum(click) as c from dede_archives"}文章阅读:[field:c /]人次{/dede:sql}
今日更新:**篇
{dede:sql sql="SELECT count( * ) AS c FROM dede_archives WHERE pubdate > UNIX_TIMESTAMP( CURDATE( ) ) "}今日更新:[field:c /]篇{/dede:sql}
总共留言:
{dede:sql sql="select count(*) as cc From dede_guestbook"}[field:cc/]{/dede:sql}条
调用某个特定会员发布的文章内容
{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}