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 模板循环输出 Volist 标签

ThinkPHP 模板循环输出 Volist 标签 http://www.5idev.com/p-thinkphp_tpl_volist.shtml volist 标签...

ThinkPHP 模板循环输出 Volist 标签

volist 标签 在模块操作中,select() 方法返回的是一个二维数组,可以用 volist 直接输出: 用 户 名:{$vo['username']} 电子邮件:{$vo['email'...

ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色

Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0, "int"); i...

thinkphp中volist的多重循环,标签嵌套

关于volist,thinkphp官方手册说的非常清楚,其实就相当于foreach功能,只是用在模板里面,很方便,实用。 volist的二重循环,标签嵌套是这样的。 在操作里写如下代码:假定有如下...

thinkphp 页面上循环checkbox选择的值和radio混用,if判断

thinkphp 页面上循环checkbox选择的值和radio混用,if判断

PHP中多重循环以及thinkphp多重循环需要注意的地方

一.关于PHP中多重循环 如下代码所示,我用了三重的循环for ($i=0; $i < $len ; $i++) { //循环内容 for($p = 0; $p < $len; $...

ThinkPHP5的debug配置和视图输出字符串内容替换

在ThinkPHP5中,debug的配置如下: 在config.php中寻找: // 应用调试模式 ‘app_debug’ => true,//默认是false...

thinkphp5 之数据操作和模板输出

$result=Db::table('ims_ewei_shop_ceshib')->select(); $this->assign('mylist',$result); ...

ThinkPHP上传文件时,使用var_dump($_FILES)输出数组为空的解决办法。

解决这个问题需要注意两点: 首先来看form表单的基本写法: 标题: 默认图片: 视频文件: 在这里,我需要上传一个背景图片,上传一个...

php基础01_thinkphp输出Hello World

用phpstorm和mamp搭建好php开发环境后,就来体验一下thinkPHP的输出过程 1.下载thinkphp3.2.3版本框架,将其放入本地主机MyPhp文件夹中 thinkphp3.2.3所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP 循环输出
举报原因:
原因补充:

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