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的多重迴圈,標籤巢狀PHP巢狀
- 迴圈_巢狀巢狀
- Python 迴圈巢狀Python巢狀
- 巢狀迴圈成本消耗巢狀
- 迴圈高階綜合練習
- HTML標籤巢狀規則HTML巢狀
- python怎麼迴圈巢狀Python巢狀
- python 跳出巢狀迴圈方法Python巢狀
- 碎片化學習Java(二十)Java for迴圈巢狀輸出指定圖案Java巢狀
- Html 標籤的巢狀規則HTML巢狀
- html標籤的巢狀規則HTML巢狀
- Sql 巢狀迴圈最佳化案例SQL巢狀
- MySQL Join原理分析(緩衝塊巢狀與索引巢狀迴圈)MySql巢狀索引
- iOS多重巢狀頁面iOS巢狀
- java跳出多重迴圈Java
- python 利用 for ... else 跳出雙層巢狀迴圈Python巢狀
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- 兩表連線一:巢狀迴圈連線巢狀
- Linux Shell程式設計(17)——巢狀迴圈Linux程式設計巢狀
- 正則匹配閉合HTML標籤(支援巢狀)HTML巢狀
- JSP中巢狀struts標籤的問題JS巢狀
- 程式碼日數:高階迴圈
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- 瞭解巢狀迴圈聯接、合併聯接巢狀
- 最佳化兩個簡單的巢狀迴圈巢狀
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- 18. 再說迴圈~列表和迴圈的高階操作
- a標籤裡面巢狀一個a標籤,點選子連結標籤時,同時觸發了父標籤a巢狀
- 碎片化學習Java(二十一)Java for迴圈巢狀輸出三角形Java巢狀
- Java入門學習-學習if & else,for迴圈,foreach迴圈,while迴圈的用法。JavaWhile
- 巢狀類遞迴巢狀遞迴
- 迴圈中巢狀非同步操作的流程控制巢狀非同步
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- Oracle的表連線方法(二)巢狀迴圈連線Oracle巢狀
- 關於迴圈巢狀nested loops的一點分析巢狀OOP
- 學習Rust 迴圈Rust
- ThinkPHP自定義標籤PHP