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. 利用Maven, 搭建最简单的SpringMVC框架

    本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手. 文章下载

  2. spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务

    文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...

  3. .NET开发框架(四)-服务器IIS安装教程

    Windows Server 2012 R2 配置篇,包括服务器IIS安装.网络负载均衡器安装.ASP.NET Core 安装. 前三篇教程中,我们分享了框架的功能与视频演示介绍(文尾扫码 加入 框架 ...

  4. JavaScript的数据类型及其检测

    一.什么是数据类型 1.基本类型 值是不可改变的 var name = 'java'; name.toUpperCase(); // 输出 'JAVA' console.log(name); // 输 ...

  5. Android 蓝牙开发(2)——低功耗蓝牙

    低功耗蓝牙官方文档 本文章是参考官网,然后加入自己实践中的理解完成!没有看上一篇的读者,可以先阅读一下前一篇,这是一个系列. 官网地址:https://developer.android.com/gu ...

  6. POJ 3692:Kindergarten(二分图最大团)

    题目链接 题意 已知班级有g个女孩和b个男孩,所有女生之间都相互认识,所有男生之间也相互认识,给出m对关系表示哪个女孩与哪个男孩认识.现在要选择一些学生来组成一个集合,使得里面所有人都认识,求此集合最 ...

  7. MQ初窥门径【面试必看的Kafka和RocketMQ存储区别】

    MQ初窥门径 全称(message queue)消息队列,一个用于接收消息.存储消息并转发消息的中间件 应用场景 用于解决的场景,总之是能接收消息并转发消息 用于异步处理,比如A服务做了什么事情,异步 ...

  8. CORS跨域djangosetting.py 配置

    1 什么是 CORS? Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略 ...

  9. 通过字节码分析java中的switch语句

    在一次做题中遇到了switch的问题,由于对switch执行顺序的不了解,在这里简单的通过字节码的方式理解一下switch执行顺序(题目如下): public class Ag{ static pub ...

  10. C语言指针专题——指针难学的4点原因

    前一篇跟大家聊了聊指针的概念,可是就算了解了指针是什么,为什么依然感觉难学?我试着从几个点切入,聊聊指针难学之处. 文末会给大家推荐几本书,有需要的朋友可以看看! 难点1. 讨厌的星号 定义指针变量p ...