循环输出主要是使用volist和foreach标签输出。

VOLIST

volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。

1 在控制器中首先对模版赋值:

$User = M('User');
$list = $User->limit(10)->select();
$this->assign('list',$list);

2 在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">
{$vo.id}:{$vo.name}<br/>
</volist>

3 Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:

<volist name="list" id="data">
{$data.id}:{$data.name}<br/>
</volist>

4 支持输出查询结果中的部分数据,例如输出其中的第5~15条记录

<volist name="list" id="vo" offset="5" length='10'>
{$vo.name}
</volist>

5 输出偶数记录

<volist name="list" id="vo" mod="2" >
<eq name="mod" value="1">{$vo.name}</eq>
</volist>

6 Mod属性还用于控制一定记录的换行,例如:

<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>

7 为空的时候输出提示:

<volist name="list" id="vo" empty="暂时没有数据" >
{$vo.id}|{$vo.name}
</volist>

8 empty属性不支持直接传入html语法,但可以支持变量输出,例如:

$this->assign('empty','<span class="empty">没有数据</span>');
$this->assign('list',$list);

  然后在模板中使用:

<volist name="list" id="vo" empty="$empty" >
{$vo.id}|{$vo.name}
</volist>

模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

<volist name=":fun('arg')" id="vo">
{$vo.name}
</volist>
FOREACH

1 除了volist标签之外,还可以使用foreach标签,foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如:

<foreach name="list" item="vo">
{$vo.id}:{$vo.name}
</foreach>

2 name表示数据源 item表示循环变量。

foreach标签还可以输出一维数组,例如:

<foreach name="list" item="vo" >
{$key}|{$vo}
</foreach>

Thinkphp_View(1)循环输出的更多相关文章

  1. 关于hasNextInt判断后无限循环输出else项的解决办法

    话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...

  2. JavaScript学习笔记-循环输出菱形,并可菱形自定义大小

    var Cen = 6;//定义菱形中部为第几行(起始值为0) //for循环输出菱形 document.write("<button onclick='xh()'>点我for循 ...

  3. [C#]循环输出 000 - 999999

    循环输出 000 - 999999 ; i < ; i++) { , i.ToString().Length); j < 7; j++) { Debug.WriteLine(i.ToStr ...

  4. For循环输出九九乘法表

    题:使用For循环输出九九乘法表 解析: 1*1=1 1*2=2  2*2=4 1*3=3  2*3=6  3*3=9 .... 1*9=9  ........ .....9*9=81 可以看做j*i ...

  5. loadrunner ---<三>循环输出关联数组

    web_reg_save_param,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里.在本例中,假设关联值返回三条记录,则LR分别将值保存到sor_1,sor_2,so ...

  6. 【AngularJS入门】用ng-repeat指令实现循环输出

    循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任.有些项目由后端提供restful方法,前端用ajax调用自己循环,这种一般是大把的jquery拼字符串 ...

  7. 08-使用for循环输出杨辉三角(循环)

    /** * 使用循环输出杨辉三角 * * */ public class Test6 { public static void main(String[] args) { // 创建二维数组 int ...

  8. 09-使用for循环输出空心菱形(循环)

    /** * 使用for循环输出空心菱形 * */ public class Test7 { public static void main(String[] args) { for (int i = ...

  9. For循环输出一个表格

    <!-- 作者:郑伟钊 时间:2017-01-16 描述:通过一个循环的嵌套输出一个表格 --> <?php header("Content-type:text/html; ...

随机推荐

  1. shell算数运算

    ((i=$j+$k))    等价于 i=`expr $j + $k`((i=$j-$k))     等价于   i=`expr $j -$k`((i=$j*$k))     等价于   i=`exp ...

  2. 提高ASP.NET应用程序性能的十大方法

    一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...

  3. Dynamo分布式系统——「RWN」协议解决多备份数据如何读写来保证数据一致性,而「向量时钟」来保证当读取到多个备份数据的时候,如何判断哪些数据是最新的这种情况

    转自:http://blog.jqian.net/post/dynamo.html Dynamo是Amazon开发的一款高可用的分布式KV系统,已经在Amazon商店的后端存储有很成熟的应用.它的特点 ...

  4. 在RichFaces中使用Facelets模板

    在RichFaces中使用Facelets模板 目录 Facelets简介 Facelets标签 创建相应文件 Facelets简介 Facelets是用来构建JSF应用程序的默认视图技术.它为表现层 ...

  5. USE INSTAVPN TO DESPLOY VPN server IN amazon EC2

    Requirements Ubuntu 14.04 512 MB RAM Install curl -sS https://raw.githubusercontent.com/sockeye44/in ...

  6. algorithm -- 基本介绍

    为学习算法和使用.实践 GIT & GitHub ,而写此系列. 我使用的编译器是 visual studio community 2015 低版本的VS打不开GitHub中的解决方案,拷贝代 ...

  7. MYSQL低权限读文件

    技巧:Reading files in MySQL with file_priv = no. 当用户无权限调用load_file()函数的时候可以用以下方式读取文件内容: 1.建立test(不分配fi ...

  8. JavaScript拼图游戏

    今天是2016年最后一天上班了.最近几天都比较休闲,有时间空闲下来写写文档之类的. 2016过得真是快.感觉没做什么就过去了.想到之前想坚持每个月写一写博客都没坚持到.希望2017年可以吧. 无聊之余 ...

  9. C# Request中修改header信息

    var headers = app.Context.Request.Headers; Type hdr = headers.GetType(); PropertyInfo ro = hdr.GetPr ...

  10. 1、WIN2D学习记录(win2d实现JS雨天效果)

    一.Win2D Win2D是微软开源的项目 它的github地址是 https://github.com/Microsoft/Win2D 里面有详细的文档 http://microsoft.githu ...