织梦loop循环标签如何在织梦中任意调用数据

 DedeCMS v5.7手册中的loop万能标签非常有用,可以使用它来调用任意表中的数据,我们先来看看loop标签的语法结构。

 
    {dede:loop table='table_name' if='condition' sort='field_name' row='line_number'}
    <a href='[field:arcurl/]'>[field:title/]</a><br />
    {/dede:loop}
 
上面就是loop标签的语法了,其中table_name指的是表名,也就是要查询的数据所在的表;condition是条件,相当于SQL语句中的where;field_name指的是排序方式,相当于SQL语句中的order by;line_number是行数,指要查询多少条数据,我们通过两个例子来说明loop标签的强大功能。
 
    {dede:loop table='dede_archives' sort='mid' row='4' if='mid=1'}
    <a href='[field:arcurl/]'>[field:title/]</a>([field:mid/])<br />
    {/dede:loop}
 
上面的例子是调用DedeCMS文档主表的文章,根据mid也即会员ID号排序,条件是会员ID等于1。换句话说,这段代码的作用是查询会员ID为1的用户发布的4篇文档。
 
站长们也许会问为什么loop标签叫万能调用标签呢?其实它除了调用DedeCMS数据表里面的内容外,还可以调用其他程序数据表中的数据,从而起到整合数据的作用。
 
    {dede:loop table='cdb_threads' if='' sort='tid' row='8'}
    <a href="http://down.chinaz.com/bbs/thread-[field:tid/]-1-1.html">
        [field:subject function="cn_substr('@me',40)"/]
    </a><br />
    {/dede:loop}
 
友情提示:织梦二次开发必须知道的Dedecms5.7  数据结构dedecmsv5.7手册
 
在使用loop标签的时候需要注意一个问题:织梦loop标签中输出[field:arcurl/]链接失效的解决方
 
上述代码的功能和第一个例子类似,它用来获取Discuz! 论坛的最新主题帖子,URL标签中的域名要替换成自己的域名,各位站长可以试验下。总之,loop标签同时可以查询跟DedeCMS处在同一个数据库的数据表,如果您的论坛或者商城程序安装在同一数据库,也可以使用loop标签进行调用。
 

扫一扫手机访问