织梦DedeCMS确实是非常强大的系统,以前也分享了很多自己在使用织梦时遇到的一些问题及其解决办法。下面是要分享在Dede系统里面,如何使用SQL语句来配合织梦标签进行更多的个性化调用。如织梦整合Discuz论坛、Wordpress程序等其他程序,织梦都可以使用S
织梦DedeCMS确实是非常强大的系统,以前也分享了很多自己在使用织梦时遇到的一些问题及其解决办法。下面是要分享在Dede系统里面,如何使用SQL语句来配合织梦标签进行更多的个性化调用。如织梦整合Discuz论坛、Wordpress程序等其他程序,织梦都可以使用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/]" data_ue_src="/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"}
<ul class=" list-paddingleft-2" style="<a href="mailto:">
·<span>
<span>"><li><p><a id="@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]'" title="[field:title/]" href="[field:id runphp=" target="_blank" data_ue_src="[field:id runphp=">[field:title function=cn_substr(@me,30,0)/]</a></p></li></ul>
{/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/]" data_ue_src="/ask/question.php?id=[field:id/]">[field:title function="cn_substr(@me, 10)"/]</a>
[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'}<a href="/ask/question.php?id=[field:id/]" data_ue_src="/ask/question.php?id=[field:id/]">[field:title function="cn_substr(@me, 10)"/]</a>[field:content function="cn_substr(@me, 10)"/]…
{/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" data_ue_src="/plus/view.php?aid=[field:id/]">[field:title/]</a>
{/dede:sql}
新增一点dede调用discuz最新主题等信息的SQL语句代码:
{dede:sql sql="SELECT` cdb_p_w_uploads`.`aid`, `cdb_p_w_uploads`.`p_w_upload`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, `cdb_threads`.`subject` FROM `cdb_p_w_uploads` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_p_w_uploads`.`tid` WHERE `cdb_p_w_uploads`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='p_w_picpath/pjpeg' GROUP BY tid LIMIT 0,2"}
<ul class=" list-paddingleft-2" style=""><li><p><a href="/bbs/viewthread.php?tid=[field:tid /]" data_ue_src="/bbs/viewthread.php?tid=[field:tid /]"><img src="/bbs/p_w_uploads/[field:p_w_upload/]" data_ue_src="/bbs/p_w_uploads/[field:p_w_upload/]"></a></p></li><li><p><a href="/bbs/viewthread.php?tid=[field:tid /]" data_ue_src="/bbs/viewthread.php?tid=[field:tid /]">[field:subject function="cn_substr('@me',30)" /]</a></p></li></ul>
{/dede:sql}
//调用discuz论坛带图片的帖子
{dede:loop table="cdb_threads" sort="tid" row="10"}
<a href="/dz/viewthread.php?tid=[field:tid /]" data_ue_src="/dz/viewthread.php?tid=[field:tid /]">·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a><br>
{/dede:loop}
//调用论坛最新主题
//符合后面为SQL标签的注释内容,解释该SQL标签的作用
在的一篇织梦DedeCMS常用SQL语句整理的文章中,就说到了织梦自带SQL工具的使用。其实可以跟织梦的SQL标签结合起来使用,实现非常强大的功能。织梦系统本身已经非常强大了,特别是SQL标签对整合其他系统程序来说,是非常强大的功能。