本文实例讲述了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程序设计有所帮助。