ThinkPHP模板循环输出Volist标签用法实例详解


Posted in PHP onMarch 23, 2016

本文实例讲述了ThinkPHP模板循环输出Volist标签用法。分享给大家供大家参考,具体如下:

volist 标签用于在模板中循环输出数据集或者多维数组。

volist 标签

在模块操作中,select() 方法返回的是一个二维数组,可以用 volist 直接输出:

<volist name="list" id="vo">
用 户 名:{$vo['username']}<br />
电子邮件:{$vo['email']}<br />
注册时间:{$vo['regdate']|date="Y-m-d H:i",###}
</volist>

如果想输出多维数组,请参看《ThinkPHP模板Volist标签嵌套循环输出多维数组的方法》

注意:name的属性值 list (name="list")不可随意改变,需要与操作中的模板赋值指令对应:

$this->assign( "list", $list );

id 表示循环变量,可以随意指定,但不得与 name 属性冲突。

输出部分数据

如果要输出结果集中的部分数据,需要指定 offset(数据指针) 与 length(数据数据条数) 属性。

输出第 5~14 条记录:

<volist name="list" id="vo" offset="5" length='10'>
用 户 名:{$vo['username']}<br />
电子邮件:{$vo['email']}<br />
注册时间:{$vo['regdate']|date="Y-m-d H:i",###}
<hr />
</volist>

输出奇/偶数记录

volist 中的 mod 参数相当于指定一个频率,系统会将当前的实际记录对 mod 参数值求余(PHP中的%运算符)运算。而配合判断标签(如eq标签),就可以按照频率控制输出的数据或数据显示的格式。

例子1,输出偶数记录:

<volist name="list" id="vo" mod="2">
<eq name="mod" value="0">
用 户 名:{$vo['username']}<br />
电子邮件:{$vo['email']}<br />
注册时间:{$vo['regdate']|date="Y-m-d H:i",###}
<hr />
</eq>
</volist>

例子2,输出所有记录,但让表格隔行显示不同的背景颜色的例子:

<table>
<volist name="list" id="vo" mod="2">
<tr<eq name="mod" value="0"> style="background-color:#FFF;"</eq>>
  <td>我是单元格内容</td>
  <td>我也是单元格内容</td>
</tr>
</volist>
</table>

提示:实际使用中可以灵活设定 mod 参数的值,而不仅仅限于奇偶。

输出循环变量

指定 key 属性用于输出循环的变量次数(注意不是数据表主键 id):

<volist name="list" id="vo" key="k">
序  号:{$k}<br />
用 户 名:{$vo['username']}<br />
电子邮件:{$vo['email']}<br />
注册时间:{$vo['regdate']|date="Y-m-d H:i",###}
<hr />
</volist>

输出数组索引

直接使用 $key 变量用于输出数组索引:

<volist name="list" id="vo">
数组key:{$key}<br />
用 户 名:{$vo['username']}<br />
电子邮件:{$vo['email']}<br />
注册时间:{$vo['regdate']|date="Y-m-d H:i",###}
<hr />
</volist>

提示

与输出循环变量不同的是,这个 key 值取决于数据本身,而不是 volist 循环输出决定的。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
php轻松实现文件上传功能
Mar 03 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
php时间计算相关问题小结
May 09 PHP
Thinkphp 中 distinct 的用法解析
Dec 14 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
Jun 21 PHP
php实现将数据做成json的格式给前端使用
Aug 21 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 #PHP
ThinkPHP路由机制简介
Mar 23 #PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 #PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 #PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 #PHP
Zend Framework开发入门经典教程
Mar 23 #PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 #PHP
You might like
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
PHP钩子实现方法解析
2019/05/21 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
Django教程笔记之中间件middleware详解
2018/08/01 Python
numpy基础教程之np.linalg
2019/02/12 Python
Python银行系统实战源码
2019/10/25 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python add_argument()用法解析
2020/01/29 Python
Python实现自动签到脚本功能
2020/08/20 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
澳大利亚相机之家:Camera House
2017/11/30 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
大学生涯自我鉴定
2014/01/16 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
教师听课评语大全
2014/12/31 职场文书
童年读书笔记
2015/06/26 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
JavaScript实现简单图片切换
2021/04/29 Javascript
Go语言基础函数基本用法及示例详解
2021/11/17 Golang