腾讯云618限量抢购
  1. PHP基础教程
  2. PHP+MySQL数据库教程

ThinkPHP 模板循环输出 Volist 标签

最后更新:2011-01-22 00:10阅读:131419

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 循环输出决定的。


本章节内容共分 10 部分:
  1. 1. ThinkPHP 模板循环输出 Volist 标签
  2. 2. ThinkPHP 模板 Volist 标签嵌套循环输出多维数组
  3. 3. ThinkPHP 模板循环输出 Foreach 标签
  4. 4. ThinkPHP 模板判断输出 Switch 标签
  5. 5. ThinkPHP 模板判断输出 比较标签
  6. 6. ThinkPHP 模板判断输出 Present 标签
  7. 7. ThinkPHP 模板判断输出 Defined 标签
  8. 8. ThinkPHP 模板判断输出 Empty 标签
  9. 9. ThinkPHP 模板范围判断输出 In 标签与 Range 标签
  10. 10. ThinkPHP 模板判断输出 If ... Else 标签
腾讯云618限量抢购