thinkPHP栏目嵌套循环代码永利网址

假设你的栏目表名为think_class, 表有字段: id,name,parentid,
参考代码:

Volist标签主要用于在模板中循环输出数据集或者多维数组。

  1. $class=M(“Class”);
  2. $data=$class->select();
  3. $list=array();
  4. foreach($data as $arr){
  5. $list[$arr[‘parentid’]][]=$arr;//重新整理数据排序。
  6. }
  7. $this->assign(“list”,$list);

volist标签(循环输出数据)

复制代码

闭合

然后在模版中:

非闭合标签

  1. <volist name=”list[0]” id=”vo”>
  2. 大分类:{$vo.name}
  3. 所属小分类:
  4.    <volist name=”list[$vo[‘id’]]” id=”vo2″>
  5.         {$vo2.name}
  6.      </volist>
  7. </volist>

属性


name(必须):要输出的数据模板变量

id(必须):循环变量

offset(可选):要输出数据的offset

length(可选):输出数据的长度

key(可选):循环的key变量,默认值为i

mod(可选):对key值取模,默认为2

empty(可选):如果数据为空显示的字符串

通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。
在Action中首先对模版赋值:

  1. $User = M(‘User’);
  2. $list = $User->select();
  3. $this->assign(‘list’,$list);

在模版定义如下,循环输出用户的编号和姓名:

  1. <volist name=”list” id=”vo”>
  2. {$vo.id}
  3. {$vo.name}
  4.  </volist>

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:

  1. <volist name=”list” id=”data”>
  2. {$data.id}
  3. {$data.name}
  4.  </volist>

支持输出部分数据,例如输出其中的第5~15条记录

  1. <volist name=”list” id=”vo” offset=”5″ length=’10’>
  2. {$vo.name}
  3.  </volist>

9

输出偶数记录