ThinkPHP 循环输出

原创 2016年08月29日 14:47:47

循环输出
VOLIST
volist标签同于查询数据集select结果的输出,返回一个二维数据,直接volist标签输出

<volist name='list' id='item'>
    {$item.id} {$item.title}{$item.content}<br>
</volist>

输出部分数据 输出第2-5条数据

<volist name='list' id='item' offset='2' length='5'>
    {$item.id} {$item.title}{$item.content}<br>
</volist>

输出偶数记录 mod

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

一定记录的换行

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

数据为空

<volist name='list' id='item' empty='暂时没有数据'>
    {$item.count}<br>
</volist>

输出为空时的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
Foreach标签比volist更加简单,没有额外的属性

<foreach name='list' item='item'>
    {$item.id}{$item.title}<br>
</foreach>

条件输出
switch,if eq等比较标签
Switch

    <switch name='item.count'>
        <case value="">空值</case>
        <default>{$item.count}</default>
    </switch>

case的value属性支持多个条件判断,使用“|”进行分割

<switch name="Think.get.type">
    <case value="gif|png|jpg">图像格式</case>
    <default />其他格式
</switch>

比较标签

name变量的值等于value就输出,可以使用:
<foreach name='list' item='item'>
    {$item.id}{$item.title}<br>
    <eq name='item.title' value='exp'>wuhahaha</eq>
                           或
   <equal name="name" value="value">value</equal>
</foreach>

也可以支持和else标签混合使用:

<eq name="name" value="value">
相等
<else/>
不相等
</eq>

使用函数

<eq name="vo:name|strlen" value="5">{$vo.name}</eq>

范围判断
IN NOTIN BETWEEN NOTBETWEEN

id在范围内:
<in name="id" value="1,2,3">
id在范围内
</in>

不在范围
<notin name="id" value="1,2,3">
id不在范围内
</notin>

<in name="id" value="1,2,3">
id在范围内
<else/>
id不在范围内
</in>
<between name="id" value="1,10">
输出内容1
</between>

<notbetween name="id" value="1,10">
输出内容2
</notbetween>

判断标签
present 判断变量是否定义
empty 变量是否为空

<present name="name">
name已经赋值
<else /> 
name还没有赋值
</present> 
<empty name="Think.get.name">
$_GET['name']为空值
</empty>

<defined name="NAME">
NAME常量已经定义
<else /> 
NAME常量未定义
</defined> 

原声代码

<?php echo 'Hello,world!'; ?>
版权声明:本文为博主原创文章,未经博主允许不得转载。

thinkphp循环输出

在thinkphp里支持两种循环输出 第一种是volist,第二种是foreach标签 第一种方式输出的过程: 在控制器里先对模板赋值: $User = M('User'); $list = $Use...
  • qq_33664294
  • qq_33664294
  • 2016年11月29日 17:33
  • 167

Thinkphp volist 多重循环原样输出数组key值的使用总结

最近因为项目的缘故,要使用到volist。在这个过程中,遇到了一些小问题,主要就是volist在循环输出多重数据的时候,如何输出key。网上查阅了不少资料,很失望的是,大多资料就是粘贴复制Thinkp...
  • whq19890827
  • whq19890827
  • 2017年09月09日 17:55
  • 627

thinkphp HTML 的循环标签

{$vo.area_code}                     {$vo.service_name}                     {$vo.address}         ...
  • morley_wang
  • morley_wang
  • 2012年08月03日 16:26
  • 579

关于Thinkphp二维数组循环输出问题

TP通过select()方法查询到的二维数组,我们通常使用PHP的foreach循环来进行输出和取值,具体使用方法如下: $info使我们通过select()方法获取到的二维数组, $ne...
  • Web_My_Dream
  • Web_My_Dream
  • 2016年03月09日 23:58
  • 2177

ThinkPHP3.1.x模板volist输出一维数组 array

ThinkPHP框架的模板标签一般用于循环输出从控制器端传递过来的二维或四维数组,但是如何循环输出一维数组呢? 下面给大家简单介绍一下使用循环输出一维数组,假设控制器代码如下: $list = a...
  • web718
  • web718
  • 2014年09月08日 12:03
  • 6678

【thinkphp】thinkphp递归循环栏目按照树形结构无限极输出

thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用 private function  categoryTree($parenti...
  • yanhui_wei
  • yanhui_wei
  • 2012年12月08日 11:25
  • 8243

thinkphp 模板输出表格

方法一:直接在表格里  foreach  或volist  (设计相对简单); 方法二:在div中嵌套foreach 或vo....   ,但是发现这种结构 所导致的表格单元格宽度width参...
  • liuxianghn
  • liuxianghn
  • 2017年10月17日 22:15
  • 104

笔记--ThinKPHP模板循环之for,foreach,volist

模板: index.html Title This is a test! {$data['name']}-----{$data['age']} ...
  • Tim_SK
  • Tim_SK
  • 2016年08月24日 11:37
  • 2615

ThinkPHP volist 二级循环输出

控制器 测试数组: for($i=0;$i5;$i++){ for($j=1;$j5;$j++){ $item[$i][$j][0] = $i.$j; $ite...
  • qq_37780279
  • qq_37780279
  • 2017年06月22日 11:34
  • 125

thinkphp view层中的循环

{section name=i loop=10 start=0} pack_name file_path ...
  • zzz_781111
  • zzz_781111
  • 2013年01月07日 17:57
  • 1181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP 循环输出
举报原因:
原因补充:

(最多只允许输入30个字)