dede标签loop,万能循环

标签名称:loop

标记简介:
功能说明:调用任意表的数据标签
适用范围:全局使用
基本语法:
{dede:loop table='dede_archives' sort='' row='4' if=''}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:loop}
参数说明:
table = '' 查询表名
sort = '' 用于排序的字段
row = '' 返回结果的条数
if = '' 查询的条件
底层模板变量:
这个标记的底层模板变量即是被查询表的所有字段

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='#@__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}
  上述代码的功能和第一个例子类似,它用来获取Discuz! 论坛的最新主题帖子,URL标签中的域名要替换成自己的域名,各位站长可以试验下。
  总之,loop标签同时可以查询跟DedeCMS处在同一个数据库的数据表,如果您的论坛或者商城程序安装在同一数据库,也可以使用loop标签进行调用。

两个标签都能够进行多表查询,他们的区别以下是例子:

{dede:loop table='#@__category_brand b,#@__goods g,#@__category_series s' row='8' if='b.cat_id=g.cat_brand_id and g.cat_series_id=s.series_name and g.cat_id=72'}
[field:cat_name/]
[field:series_name/]
[field:goods_model/]
[field:shop_price/]
{/dede:loop}


{dede:sql sql='select * from #@__category_brand b,#@__goods g,#@__category_series s where b.cat_id=g.cat_brand_id and g.cat_series_id=s.series_name and g.cat_id=71 limit 0,8'}
[field:cat_name/]
[field:series_name/]
[field:goods_model/]
[field:shop_price/]
{/dede:sql}
 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值