php sql 循环,SQL语句循环

一、作用

通过sql语句来循环查询数据(也可以单条查询),支持分页输出

二、语法

{list action=sqlsql='SQL语句变量'....}{/list}

简写:{sqlsql='SQL语句变量'....}{/sql}

三、参数介绍(红色表示必填参数,蓝色表示系统默认参数)参数介绍

actionsql

sqlsql参数只支持变量传递,@#表示数据表前缀;格式如:sql='$sql',这里的$sql变量就是你的sql语句

module当存在模块参数时字段将会自动格式化,例如新闻模块,填写news

form当存在表单参数时字段将会自动格式化,例如留言表单,填写对应的表名称liuyan

modelid当存在空间模型参数时字段将会自动格式化,例如日志模型,填写对应的模型id

site站点id,默认当前站点,填写其他站点id表示查询其他站点的SQL数据

page当page=1时表示开启分页查询,否则pagesize与urlrule是不会生效的

pagesize分页显示数据量

urlrule分页地址规则:[page]表示分页标识符

cache缓存时间单位秒,默认关闭缓存;当cache=3600时,表示缓存时间1小时,建议数据查询的标签都加上缓存参数

return默认返回变量为t,调用方式就是{$t.字段值}(多级list查询必须设置return=其他字母,否则你懂得)

四、返回变量变量参数

{$error}当查询不到数据时,会返回错误信息,调试模板时很有用哦(写在list标签以外)

{$sql}显示当前查询的sql语句,调试模板时候很有用哦(写在list标签以外)

{$total}用于分页时查询的总记录数量(写在list标签以外)

{$count}当前查询的记录,当存在分页时,表示当前页的记录数(写在list标签以外)

{$pages}显示分页代码(写在list标签以外)

{$key}当前记录指针位置,从0开始(写在list标签以内)

当存在return=字母时,以上变量都要写成这种格式{$变量_字母},例如{list ...reutrn=a}时,变量格式{$key_a}

{$is_first}判断是否第一条,{if $is_first}第一条{/if}

{$is_last}判断是否最后一条,{if $is_last}最后一条{/if}

五、显示字段

{$t.字段名称}或者{$t['字段名称']}

由于是SQL自定义查询,这个要看你自己了哦

六、相关例子(注意引号的用法,sql语句必须存在于单引号之间)

1、在member表中查询username=admin的会员信息{list action=sql sql='select * from @#member where username="admin"'}

{$t.username}

{/list}

{$error}

或者{php $query='select * from @#member where username="admin"';}

{list action=sql sql='$query'}

{$t.username}

{/list}

{$error}

2、分页查询文章news表的数据(模块表查询如果加上module参数,返回值会自动格式化){list action=sql module=news sql='select * from @#1_news' page=1 pagesize=10 urlrule=index.php?page=[page]}

{$t.title}

{/list}

{$pages}

{$error}

或者{php $query='select * from @#1_news';}

{list action=sql module=news sql='$query' page=1 pagesize=10 urlrule=index.php?page=[page]}

{$t.title}

{/list}

{$pages}

{$error}

文档最后更新时间:2018-09-29 15:26:43

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值