牛骨文教育服务平台(让学习变的简单)
博文笔记

ThinkPHP 循环输出

创建时间:2016-08-29 投稿人: 浏览次数:432

循环输出
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!"; ?>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。