本文实例讲述了thinkPHP中volist标签用法。分享给大家供大家参考,具体如下:
属性:
name(必须) | 要输出的数据模板变量 |
id(必须) | 循环变量 |
offset(可选) | 要输出数据的offset |
length(可选) | 输出数据的长度 |
key(可选) | 循环的key变量,默认值为i |
mod(可选) | 对key值取模,默认为2 |
empty(可选) | 如果数据为空显示的字符串 |
通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。
1
2
3
|
$User = M( 'User' ); $list = $User ->select(); $this ->assign( 'list' , $list ); |
1
2
3
4
|
< volist name = "list" id = "vo" > {$vo.id} {$vo.name} </ volist > |
输出偶数记录
1
2
3
|
< volist name = "list" id = "vo" mod = "2" > < eq name = "mod" value = "1" >{$vo.name}</ eq > </ volist > |
mod从0开始计数,这里mod循环计数为0,1
Mod属性还用于控制一定记录的换行,例如:
1
2
3
4
|
< volist name = "list" id = "vo" mod = "5" > {$vo.name} < eq name = "mod" value = "4" >< br /></ eq > </ volist > |
mod循环计数,0,1,2,3,4 当值为4的时候换行。也就是5条数据换一行。
输出循环变量
1
2
3
|
< volist name = "list" id = "vo" key = "k" > {$k}.{$vo.name} </ volist > |
循环变量从1开始1、2、3、4
如果没有指定key属性的话,默认使用循环变量i,例如:
1
2
3
|
< volist name = "list" id = "vo" > {$i}.{$vo.name} </ volist > |
综合案例:
1
2
3
4
5
6
7
|
< volist name = "agentData" id = "vo" mod = "3" key = "k" empty = "暂时没有数据" > < div style = "display:inline-block;width:280px;margin:3px;" > < input type = "radio" class = "regular-radio" value = "{sh:$vo.agent_id}" name = "agent_id" id = "agent_{sh:$k}" <eq name = "k" value = "1" >checked="checked"</ eq >>< label for = "agent_{sh:$k}" ></ label >< span style = "display:inline-block;padding:0px 0px 5px 5px;" >{sh:$vo.name} 电话({sh:$vo.tel})</ span > </ div > {sh:$mod} < eq name = "mod" value = "2" >< br /></ eq > </ volist > |
效果
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。