当前位置:Gxlcms > PHP教程 > ThinkPHP学习(四)volist标签高级应用之多重嵌套循环

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

Action代码:

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

  1. {$sp.srvName}
  2. {$pd.prod_cn}
  3. |
当使用多重嵌套循环时,需要为每一个volist指定key值,通过
判断是否为数组中的最后一个元素。


人气教程排行