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 相关文章推荐
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
php curl_init函数用法
Jan 31 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
通过实例解析PHP数据类型转换方法
Jul 11 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
浅析php创建者模式
2014/11/25 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
jquery处理json对象
2014/11/03 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
python通过socket查询whois的方法
2015/07/18 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
python 实现图片裁剪小工具
2021/02/02 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
教师年度考核自我鉴定
2014/01/19 职场文书
宿舍标语大全
2014/06/19 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
怎样写辞职信
2015/02/27 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书