首頁 > 後端開發 > php教程 > ThinkPHP学习(4)volist标签高级应用之多重嵌套循环

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

WBOY
發布: 2016-06-13 11:56:17
原創
914 人瀏覽過

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 $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=%7B%24pd.prod_en%7D">{$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'])"></if>
登入後複製
判断是否为数组中的最后一个元素。


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板