Volist 标签

volist标签通常用于查询数据集(select 方法),对于查询出来的结果数组进行遍历输出。

首先赋值:
$User = M("User");
$list = $User->limit(10)->select();
$this->assign('list',$list);
$this->display(); 页面的展示:
<volist name="list" id="vo">
{$vo.id} : {$vo.name} <br/>
</volist>
输出结果:1 : tom 3 : jack 5 : jetty 1.offset 、 length属性 —— 输出部分数据
<volist name="list" id="vo" offset="4" length="5">
{$vo.id} : {$vo.name} <br/>
</volist> //显示的是第5条到第10条数据
结果:
18 : jetty
19 : tom2
20 : tom3
21 : tom4
22 : tom5 2.mod属性 —— 将数据分块输出
/* 输出偶数数据
* 第一行的mod值是将数据分成2个一组,序号都是从0开始
* 第二行 当mod值为1时输出数据,也就是显示偶数的数据
*/
<volist name="list" id="vo" mod="2">
<eq name="mod" value="1">{$vo.name}</eq>
</volist> /* 控制一行记录的换行
* 同理,先将数据分成4个一组,都是从0开始标序号 输出所有数据
* 当每组中的序号为3 也就是显示最后一个数据后,输出换行符
*/
<volist name="list" id="vo" mod="4">
{$vo.name}
<eq name="mod" value="3"><br/></eq>
</volist> 3.empty —— 数据为空提示
<volist name="list" id="vo" emptyempty="暂时没有数据显示">
{$vo.id}|{$vo.name}
</volist>
//如果没有可显示的数据 就会输出 "暂时没有数据显示"提示 /*
* empty 支持向页面传值
*/
$this->assign('empty','<span class="empty">没有可显示的数据</span>');
$this->assign('list',$list);
$this->display(); //模板中使用:
<volist name="list" id="vo" offset="10" length="3" emptyempty="$empty">
{$vo.id}|{$vo.name}
</volist> 4.key属性 —— 输出数据序号
<volist name="list" id="vo" emptyempty="$empty" key="k">
{$k} : {$vo.name}
</volist>
//序号 从1开始 /* 如果key属性没有写,默认的可以用i表示
* 结果与上同 序号也是从1开始
*/
<volist name="list" id="vo" emptyempty="$empty">
{$i} {$vo.id}|{$vo.name}
</volist> 注:也可以只用key变量,此时序号从0开始。
Foreach标签 foreach标签类似与volist标签,只是更加简单,没有太多额外的属性
name : 表示数据源 item : 表示循环变量 <foreach name="list" item="vo">
{$key}|{$vo}
</foreach> //也可以定义索引的变量名
<foreach name="list" item="vo" key="k">
{$k}|{$vo}
</foreach>
//索引都是从0开始
For 标签
格式:
<for start="开始值" end="结束值" comparison="判断条件" step="步进值" name="循环变量名">
</for>
开始值、结束值、步进值和循环值都可以支持变量,开始值和结束值是必须,其他是可选。comparison的默认值是lt;name的默认值是i,步进值的默认值是1 <for start="1" end="100">
{$i}
</for> /*
解析后的代码是:
for($i=1; $i<100; $i+=1){
echo $i
}
*/
/**
* for循环输出user对象的数据值,k是循环变量名
*/
<for start="1" end="6" name="k">
{$user[$k]['id']} : {$user[$k]['username']} <br/>
</for>

tp3 的前端内置标签的更多相关文章

  1. thinkphp 内置标签volist 控制换行

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

  2. ThinkPHP中的内置标签

    ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...

  3. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  4. Jsp的内置标签和jstl标签

    1.内置标签(动作标签) 内置标签不需要再jsp页面导入标签 1).forward:请求的转发,格式如下 <%-- 作用与这个相同 <%request.getRequestDispatch ...

  5. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

  6. Thinkphp中的内置标签用法

    Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...

  7. django中模板变量与内置标签以及过滤器

    本文参考 官方文档 . 一  模板变量 格式: {{ variable_name }} variable_name   命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...

  8. JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...

  9. JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1.    JSP模板元素:JSP中HT ...

随机推荐

  1. linux:清空文件内容与批量kill 指定程序名的进程

    1.常规的清空文件内容方法 1)使用 cat命令显示 /dev/null 的内容然后重定向输出到某个文件,来清空 $ cat /dev/null > filename 2)清空一个文件可以通过 ...

  2. Python笔记【1】_字符串学习

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #字符串:通常有单引号“'”.双引号“" ...

  3. spark 源码分析之十二 -- Spark内置RPC机制剖析之八Spark RPC总结

    在spark 源码分析之五 -- Spark内置RPC机制剖析之一创建NettyRpcEnv中,剖析了NettyRpcEnv的创建过程. Dispatcher.NettyStreamManager.T ...

  4. C++ 洛谷 P1731 [NOI1999]生日蛋糕

    P1731 [NOI1999]生日蛋糕 一本通上也有. 这TM是一道极其简单的深搜剪枝(DP当然可以的了,这里我只讲深搜). 首先圆柱公式:(有点数学基础都知道) V=πR2H S侧=π2RH S底= ...

  5. GET,POST,PUT,DELETE,OPTIONS等请求方式简单总结

    之前做的java web项目,基本上只使用get和post的请求方式,但是现在新项目额外增加了put,delete,查了点资料,做个简单的总结. 1.GET-安全且幂等 get请求是用来获取数据的,只 ...

  6. eclipse中一个项目引用另一个项目,运行报:java.lang.NoClassDefFoundError

    项目右击-properties-Java Build Path -Porjects-add.选中了某个项目. 项目用tomcat启动时,报错:java.lang.NoClassDefFoundErro ...

  7. 003-python基础-字符类型

    基本数据类型(int,bool,str) 1.基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放 ...

  8. Codeforces Gym101257F:Islands II(求割点+思维)

    http://codeforces.com/gym/101257/problem/F 题意:给出一个n*m的地图,上面相同数字的代表一个国家,问对于每个国家有多少个国家在它内部(即被包围).例如第一个 ...

  9. elk 系列:Elasticsearch 7.2 集群部署+TLS 加密+认证登陆

    背景 2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供. 这意味着用户现在能够对网络流量进行加密.创建和管理用户. ...

  10. python接口自动化(三十四)-封装与调用--函数和参数化(详解)

    简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来 ...