循环输出主要是使用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. gulp教程之gulp-livereload

    简介: gulp-livereload拯救F5!当监听文件发生变化时,浏览器自动刷新页面.[事实上也不全是完全刷新,例如修改css的时候,不是整个页面刷新,而是将修改的样式植入浏览器,非常方便.]特别 ...

  2. MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

    在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束. 出现问题的大致情况 1. ...

  3. Swiper说明&&API手册 【中文手册Swiper】

     原文地址:http://www.cnblogs.com/scavengers/p/3760449.html 示例: <link rel="stylesheet" href= ...

  4. locate

    pre.cjk { font-family: "Nimbus Mono L", monospace } p { margin-bottom: 0.1in; line-height: ...

  5. CentOS6.5 下安装 texlive2015 并设置 ctex 中文套装

    0 卸载旧版本的 texlive 0.1 卸载 texlive2007 如果系统没有安装过texlive,则跳过第0步. 可以在终端中使用如下命令查询本机已经安装的tex和latex版本: [She@ ...

  6. socket.io与redis构建实时推送

    准备工作 1:准备nodejs环境 2:使用npm工具安装 socket.io  npm install socket.io 3:下载客户端socket.io文件 解压附件中的文件 node app. ...

  7. POJ2774 (后缀数组)

    #include<cstdio> #include<cstring> using namespace std; ],b[]; ],x[],wv[],ws[],h[],rank[ ...

  8. 【 2013 Multi-University Training Contest 2 】

    HDU 4611 Balls Rearrangement 令lcm=LCM(a,b),gcd=GCD(a,b).cal(n,a,b)表示sum(abs(i%a-i%b)),0<=i<n. ...

  9. Sublime Text 3 中文乱码的解决方法

    Sublime Text 3 中文乱码表现如下图: 解决方法很简单,三步搞定: 步骤一: 下载ConvertToUTF8,下载地址:http://pan.baidu.com/s/1gd5SWmB 步骤 ...

  10. webView与OC的交互

    layout: post title: webView 的 iOS 与 js 交互 subtitle: iOS 与 js 交互的几种方式 author: manajay date: 2016-05-3 ...