zdcms任意表循环
一、作用
用于任意表查询内容数据(支持分页查询)
二、语法
{table table=表名....}{/table}
三、参数介绍(红色表示必填参数,蓝色表示系统默认参数)
参数 | 介绍 |
---|---|
table | 不含前缀的表名称,例如会员表,填写member |
field | 可用字段,多个字段以小写分号分开,默认全部字段 |
order | 排序方式,多个排序以小写分号分开,默认降序排列,例如updatetime_asc表示按更新时间升序排列 |
num | 表示显示数量,支持定点查询,例如1,2表示从第1条记录开始,共显示2条数据 |
page | 当page=1时表示开启分页查询,否则pagesize与urlrule是不会生效的 |
pagesize | 分页显示数据量 |
urlrule | 分页地址规则:[page]表示分页标识符 |
join | 关联表查询 |
on | 关联条件,格式为on=关联字段,被关联字段 |
cache | 缓存时间单位秒,默认关闭缓存; |
return | 默认返回变量为t,调用方式就是{$t.字段值}(多级list查询必须设置return=其他字母) |
四、返回变量
变量 | 参数 |
---|---|
{$debug} | 当查询不到数据时,会返回错误信息,调试模板时很有用哦(写在循环标签以外) |
{$total} | 用于分页时查询的总记录数量(写在循环标签以外) |
{$return} | 当前查询的结果集数组 |
{$count} | 当前查询的记录,当存在分页时,表示当前页的记录数(写在循环标签以外) |
{$pages} | 显示分页代码(写在循环标签以外) |
{$key} | 当前记录指针位置,从0开始(写在循环标签以内) |
当存在return=字母时,以上变量都要写成这种格式{$变量_字母},例如{list ...reutrn=a}时,变量格式{$key_a} | |
{$is_first} | 判断是否第一条,{if $is_first}第一条{/if} |
{$is_last} | 判断是否最后一条,{if $is_last}最后一条{/if} |
五、显示字段
{$t.字段名称}或者{$t['字段名称']}
六、字段查询方法
修饰符 | 介绍 |
---|---|
LIKE_字段 | 模糊匹配查询,例如LIKE_title=%名称%表示like title '%标题%' |
IN_字段 | IN子句查询,例如IN_id=1,2,3,4表示id in (1,2,3,4) |
BEWTEEN_字段 | 两者之间查询,例如BEWTEEN_id=1,100表示id在1到100的数据 |
字段=值 | 字段条件查询,例如uid=1表示会员id=1的数据 |
七、部分实例
1、显示会员表数据,num表示显示10条,order表示按注册时间排序,默认cache缓存时间10小时
{table table=member order=regtime num=10} 会员:{$t.username} 注册时间:{dr_date($t.regtime, 'Y-m-d')} {/table} {$debug}诊断信息
2、调用10条最新的新闻news
{table table=1_news order=inputtime num=10} {$t.title} {/table} {$debug}诊断信息
3、会员表关联空间表查询
{table table=member join=member_data on=id,id num=10} 会员:{$t.username} 自定义字段:{$t.自定义字段} {/table} {$debug}诊断信息
4、在首页查询member表,并分页,每页显示5条,下页地址格式是index.php?page=页数。
{table table=member page=1 pagesize=5 urlrule=index.php?page=[page]} 会员:{$t.username} {/table} {$debug}诊断信息