table是万能标签,可以查询所有数据表。需要在系统字段里设置_table="表名"来指定数据表。
{table _table="file" _page_on="true"}
{$v.name}
{/table}
//表名不需要加前缀。如db_file写成file即可
变量 | 字段类型 | 名称 | 备注 |
{$v} | Array | 查询数据的结果集 | 如果 _v设置了值,这里变量也要对应起来 |
{$key} | Int | 数组键名变量名 | 从0开始,如果_key设置了值,这里变量也要对应起来 |
table标签循环体输出的数据如果需要输出栏目名称,或者信息链接,需要用caturl , title 函数 例:
{table _table="cms_news" catid="1" _limit="10" _v="v2"}
栏目:<a href="{:caturl($v['catid'])}">{$GLOBALS['cat'][$v['catid']]['name']</a>
信息:<a href="{:titleurl($v)}">{$v.title}</a>
{/table}
当list有嵌套的情况下,防止多个$v混淆,我们可以修改$v的变量名称
_v="v2",这样对应输出的变量就是 $v2
{table _table="file" _limit="10" _v="v2"}
<li>{$v2.title}</li>
{/table}
同样也可以对数组键名变量名修改
_key="key2",这样对应输出的变量就是 $key2
可以根据指定条件进行sql查询,例如我们要查询file表中ext为jpg的所有信息
{table _table="file" ext="jpg"}
{$v.name}
{/table}
支持thinkphp6 查询表达式
表达式 | 含义 | 示例 |
= | 等于 | sex="男" |
<> | 不等于 | city<>"上海" |
> | 大于 | id>"13" |
>= | 大于等于 | id>="13" |
< | 小于 | id<"13" |
<= | 小于等于 | id<="13" |
<in> | IN 查询 | id<in>"1,2,3" |
<not in> | 不在IN 查询 | id<not in>"1,2,3" |
<like> | 模糊查询 | title<like>"%上海%" |
<not like> | 不含模糊查询 | title<not like>"%上海%" |
<between> | 区间查询 | id<between>"1,8" |
<not between> | 排队区间查询 | id<not between>"1,8" |
<regexp> | 正则匹配查询 | id<regexp>"[0-9]" |
<not regexp> | 正则(不)匹配查询 | id<not regexp>"[0-9]" |
_order="排序参数"
_field="字段名" //多个字段用,号隔开
默认查询所有字段
_limit="10" 为查询条数限制
标签支持分页,即根据当前查询出来的数据可以按分页来显示,这一功能非常适用于一个页面中有多个分页的需求。
分页参数如下:
字段 | 说明 | 必填 | 默认 | 备注 |
_page_on | 开启分页 | No | No | 是否开启分布 |
_page_list_rows | 每页显示多少条 | No | 20 | 默认每页显示20条 |
_page_query | url额外参数 | No | 当前所有url参数 | 默认带上当前url参数 |
_page_display_var | 输出分页变量(用于显示分页的) | No | page | 在对应的地方可以输出{$page|raw } |
_page_url_var | 传递分页码变量 | No | p | 用于url传递的页码的,当一个页面中有多个分页的时候需要命名不同的 |
所有参数说明
字段 | 说明 | 必填 | 默认 | 备注 |
_table | 表名 | Yes | 需要查询的数据表名 | |
_order | 排序 | No | sort asc,catid asc | |
_group | group排列 | No | ||
_limit | 查询条数 | No | 不限 | |
_having | mysql having语法 | No | ||
_join | join查询 | No | ||
_field | 只针对主表字段 | No | 主表所有字段 | |
_key | 数组键名变量名 | No | key | 通常在多层循环嵌套时需要修改变量名 |
_v | 数组循环变量名 | No | v | 在循环体里用的如:{$v.title} |
_data | 是否包含副表 | No | 0 | 默认不查询副表 |
_page_on | 开启分页 | No | No | 是否开启分布 |
_page_list_rows | 每页显示多少条 | No | 20 | 默认每页显示20条 |
_page_query | url额外参数 | No | 当前所有url参数 | 默认带上当前url参数 |
_page_display_var | 输出分页变量(用于显示分页的) | No | page | 在对应的地方可以输出{$page|raw } |
_page_url_var | 传递分页码变量 | No | p | 用于url传递的页码的,当一个页面中有多个分页的时候需要命名不同的变量名 |
{table _table="file" _page_on="true"}
{$v.name}
{/table}
<div>{$page|raw }</div>