Home  >  Article  >  Backend Development  >  40分求ThinkPHP循环嵌套打印出父类与子类的列表,该如何解决

40分求ThinkPHP循环嵌套打印出父类与子类的列表,该如何解决

WBOY
WBOYOriginal
2016-06-13 13:53:45624browse

40分求ThinkPHP循环嵌套打印出父类与子类的列表
 
  大家好,我近段时间在学习thinkPHP框架,我想在模板页面实现循环打印出一个数据列表,格式是:先是父类类别名称,再接着打印出对应的子类列表,再接着打印另外一个父类名称,再打印该父类的对应的子类,以此类推。。。我是用表格排版,格式如:

   
  类别名 简介

  父类名称1 ......  
  子类名称1 .....  
  子类名称2 .....  
  子类名称3 .....  
  父类名称2 ......  
  子类名称1 .....  
  子类名称2 .....  
  子类名称3 .....  


  请问用volist该怎样实现,或者有没有更好的方法,请指教,感激不尽!!



------解决方案--------------------
你不看他的手册吗?

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

通常模型的select和findall方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。

在Action中首先对模版赋值:

$User = M('User');

$list = $User->select();

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

 

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



{$vo.id}

{$vo.name}



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



{$data.id}

{$data.name}



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



{$vo.name}



 

 输出偶数记录



{$vo.name}



Mod属性还用于控制一定记录的换行,例如:



{$vo.name}






 

 输出循环变量



{$k}.{$vo.name}



如果没有指定key属性的话,默认使用循环变量i,例如:



{$i}.{$vo.name}



如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:



{$key}.{$vo.name}



volist还有一个别名iterate,用法和volist是一样。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn