91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Thinkphp中利用volist標簽嵌套循環

發布時間:2020-12-19 14:34:37 來源:億速云 閱讀:240 作者:Leah 欄目:開發技術

如何在Thinkphp中利用volist標簽嵌套循環?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

標簽嵌套:

模板引擎支持標簽的多層嵌套功能,可以對標簽庫的標簽指定可以嵌套。
系統內置的標簽中,volist(及其別名iterate)、switch、if、elseif、else、foreach、compare(包括所有的比較標簽)、(not)present、(not)empty、(not)defined等標簽都可以嵌套使用。例如:

<volist name="list" id="vo">
<volist name="vo['sub']" id="sub">
{$sub.name}
</volist>
</volist>

上面的標簽可以用于輸出雙重循環。

默認的嵌套層次是3級,所以嵌套層次不能超過3層,如果需要更多的層次可以指定TAG_NESTED_LEVEL配置參數。
但是在Action中具體應該怎樣賦值“list”呢?從說明中可以看出,list應該是一個二維數組,下邊是一段測試代碼,經測試可以使用。

$Baojia=new Model('baojia');
$Class=new Model('class');
$parent=$Class->select();   
foreach($parent as $n=> $val){
$parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select();
}
$this->assign('list',$parent);
<volist name="list" id="vo">
    {$vo.name}<BR>
<volist name="vo['voo']" id="sub">
 {$sub.name}
</volist><BR>
</volist>

數據庫中定義了兩個表,一個是報價表,一個是分類表,實現的功能是像樹形菜單一樣,顯示分類,每個分類下邊是各個型號的報價。

代碼主要功能是:

1.首先創建模型:

$Baojia=new Model('baojia');
$Class=new Model('class');

2.然后查詢分類中的數據,這一步非常重要,因為我們知道,數據庫查詢返回的是類似表格的二維形式的數據,當我們取出單條數據時,相當與讀取每行數據。當調用<volist>時,thinkphp后臺會自動讀取每一行數據。

$parent=$Class->select();

將報價中的數據存入$parent中,其中$n是$parent數組的序號,也就相當于存入$parent中的數據表,每行添加一個索引,這個索引指向屬于這個分類的報價。

foreach($parent as $n=> $val){
$parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select();   
}

3.最后:

$this->assign('list',$parent);

顯示輸出!

通過這個程序,可以更深入的理解<volist>標簽,其實如果在數據庫操作中,<volist>標簽的name只能assign 成數據庫表類型(當然也可以是數組型,因為數據庫查詢得到的數據本身就是數組型的),當我們在視圖頁面調用<volist>標簽時,特別是嵌套調用時,始終記住每一層的name都必須是數組型的,像本程序中,最外層,<volist name="list" id="vo">這里的list就是我們最初定義的$parent,這個變量指向查詢class表得到的數據表,里層<volist name="vo['voo']" id="sub">,也就是$parent[$n]['voo']所指向的數據表,也就是報價表中的相應數據。

通過這樣的分析,條理已經很清晰了,舉一反三就可以實現N重循環,當然如果需要更多的層次可以指定TAG_NESTED_LEVEL配置參數。

這樣的話,就可以實現例如:國家->省->市->縣->鄉鎮等多重循環

看完上述內容,你們掌握如何在Thinkphp中利用volist標簽嵌套循環的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定西市| 讷河市| 乐昌市| 陇南市| 西丰县| 沂水县| 昭觉县| 彭山县| 马尔康县| 高雄县| 平凉市| 南溪县| 固始县| 泰顺县| 康保县| 临夏市| 湘乡市| 阳曲县| 普格县| 嘉荫县| 大竹县| 娱乐| 安仁县| 雷山县| 江源县| 九龙县| 尖扎县| 宜丰县| 平江县| 南华县| 道孚县| 洛扎县| 丹巴县| 西昌市| 普兰店市| 双辽市| 元谋县| 和林格尔县| 华坪县| 汝州市| 武邑县|