`
testcs_dn
  • 浏览: 113931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

Action代码:

    public function index(){
		$prod = I("get.prod_en");
		$id = I("get.id", 0, "int");
		if ($prod == ""){
			$serviceProduct = array();//多重循环遍历的数组
//数据保存在两张表中,这里通过循环初始化$serviceProduct数组
			$service = M("product_class")->order("oid ASC")->select();
			for ($i = 0; $i < count($service); $i++)
			{
				array_push($serviceProduct, array("srvName"=>$service[$i]["pc_cn"], "product"=>M("product")->where("prod_class_id=".$service[$i]["pcid"])->order("oid ASC")->select()));
			}
//如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋
值,无论何种变量类型都统一使用assign赋值。
			$this->assign("serviceProduct", $serviceProduct);
			$this->display();
		}else{
			if ($id > 0){
				$this->display("detail");
			}else{
				$this->assign('prod_en', $prod);
				$clsList = M("question_class")->order("oid ASC")->select();
				$this->assign('clsList', $clsList);
				
				$qusList = M("question")->order("oid ASC")->select();
				$this->assign('qusList', $qusList);
				$this->display("list");
			}
		}
	}
模板代码:

	<volist name="serviceProduct" id="sp" key="i">
		<dl class="dlist odd">
			<dt>{$sp.srvName}</dt>
			<volist name="sp.product" id="pd" key="j">
				<dd><a href="/index.php/question?prod_en={$pd.prod_en}">{$pd.prod_cn}</a></dd>
				<if condition="$j lt count($sp['product'])">
				<dd>|</dd>
				</if>
			</volist>
			<if condition="count($sp['product']) EQ 0">
				<dd></dd>
			</if>
		</dl>
	</volist>
当使用多重嵌套循环时,需要为每一个volist指定key值,通过
<if condition="$j lt count($sp['product'])">
判断是否为数组中的最后一个元素。


分享到:
评论

相关推荐

    Thinkphp的volist标签嵌套循环使用教程

    本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下: 首先,在Thinkphp开发手册中,有关于&lt;volist&gt;标签嵌套的解释说明。如下: 标签嵌套: 模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套...

    ThinkPHP模板Volist标签嵌套循环输出多维数组的方法

    总的来说,理解并熟练运用`Volist`标签是掌握ThinkPHP模板开发的关键技能之一,能够极大地提升你在构建动态网页时的效率和灵活性。通过不断地实践和学习,你可以更好地利用这个强大的工具来优化你的项目。

    thinkPHP中volist标签用法示例

    除了Volist标签外,还有其他模板标签和技巧,比如对ThinkPHP的更多学习可以参考相关专题,如《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》等,这些资料可以帮助开发者深入理解...

    详解thinkphp中的volist标签

    在ThinkPHP框架中,Volist标签是用于处理数组数据输出的一个非常有用的模板标签,它能够让用户非常方便地对数组数据进行循环输出。Volist标签的主要作用是在模板中遍历数组并根据设定的条件输出数组的元素,这在动态...

    thinkphp 中的volist标签在ajax操作中的特殊性(推荐)

    在一个ThinkPHP的复杂页面(包含volist)中实现volist标签显示Jquery查询结果的返回 知识点 使用ajax的目的是不刷新整个页面的前提下实现部分表格数据的刷新,但是注意ThinkPHP框架中的volist标签是运行在服务器端的...

    ThinkPHP模板循环输出Volist标签用法实例详解

    本文实例讲述了ThinkPHP模板循环输出Volist标签用法。分享给大家供大家参考,具体如下: volist 标签用于在模板中循环输出数据集或者多维数组。 volist 标签 在模块操作中,select() 方法返回的是一个二维数组,可以...

    Thinkphp中的volist标签用法简介

    通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出。 在控制器中首先对模版赋值,如下例所示: $User = M('User'); $...

    thinkphp详细高级教程

    通过学习,你可以掌握如何使用模板引擎编写动态页面,实现变量赋值、条件判断和循环结构,同时理解如何应用布局和部分视图,提升代码复用性。 四、表单验证与安全 在ThinkPHP中,你可以使用内置的验证类对用户输入...

    Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    在Thinkphp框架中,volist标签是一个非常常用的模板标签,它用于在模板中遍历数组、对象等。通过使用volist标签,开发者可以方便地处理和显示数据集合。然而,在Thinkphp的某个版本中,当使用volist标签配合mod属性...

    ThinkPHP模板中判断volist循环的最后一条记录的验证方法

    在ThinkPHP框架中,模板引擎支持多种内置标签,其中volist标签用于处理数组和对象的集合,在模板中进行循环显示。在使用volist进行循环时,经常需要在循环到集合的最后一项时进行特定的操作或标识,例如在最后一条...

    Thinkphp中数据按分类嵌套循环实现方法

    这一步骤便于模板引擎(如ThinkPHP的模板引擎)通过嵌套标签(如volist)来处理循环。 4. **模板标签**:ThinkPHP的模板标签体系非常灵活,volist标签用于循环输出数组中的元素。在嵌套循环中,使用volist标签可以...

    基于ThinkPHP8多应用开发基础框架

    《基于ThinkPHP8多应用开发基础框架》 ThinkPHP8是PHP开发中的一款强大且流行的开源框架,尤其在企业级项目中广泛应用。本教程将深入探讨如何利用ThinkPHP8进行多应用开发,帮助开发者构建高效、稳定且可扩展的Web...

    thinkphp学习资料大全

    以下是对`ThinkPHP`学习资料的详细说明: 首先,对于初学者,掌握PHP基础知识是学习`ThinkPHP`的前提。`W3School`提供了丰富的PHP教程(http://www.w3school.com.cn/php/php_syntax.asp),包括变量、数据类型、...

Global site tag (gtag.js) - Google Analytics