日期:2014-05-17  浏览次数:20581 次

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

   
  类别名    简介

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


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



------解决方案--------------------
使用地归来进行遍历就可以了

------解决方案--------------------
可以一试:第一次我都环找出所有parent_id然后记下该记录集的总量parent_count,然后以parent_count往下循环,以此类推……
------解决方案--------------------
HTML code
<tbody>

            <foreach name="list" item="vo" >
                <tr rel="{$vo.depa_id}" target="depa_id">
                    <td>{$vo.depa_id}</td>
                    <td><?php if ($vo['depa_default'] == 1)
    echo '<b>[主页面]</b> '; ?><a href="__BASEURL__/mudidi/{$vo.dein_id}/{$vo.depa_id}.html" target="_blank">{$vo.depa_title}</a></td>
                    <td>{$vo.label_count}</td>
                    <td>{$vo.model_name}</td>
                    <td>{$vo.depa_order}</td>
                </tr>
                <foreach name="vo.son" item="son" >
                    <tr rel="{$son.depa_id}" target="depa_id">
                        <td>{$son.depa_id}</td>
                        <td><img style="vertical-align: middle;" src="http://bbs.phpchina.com/images/default/tree_linemiddle.gif" alt="|-" title="|-" /><a href="__BASEURL__/mudidi/{$vo.dein_id}/{$vo.depa_id}.html" target="_blank">{$son.depa_title}</a></td>
                        <td>{$son.label_count}</td>
                        <td>{$son.model_name}</td>
                        <td>{$son.depa_order}</td>
                    </tr>
                </foreach>
            </foreach>
            </tbody>

------解决方案--------------------


模板里面不好递归,比较好的方式是在程序逻辑里递归出大致的树结构,模板里控制样式。
------解决方案--------------------
用关联模型
PHP code

<volist name="list" id="vo">
  <tr><td>{$vo.typeName}</td><td>{$vo.typeDescription}</td></tr>
  <volist name="vo.depat" id="value">
      <tr><td>{$value.typeName}</td><td>{$value.typeDescription}</td></tr>
  </volist>
</volist>

------解决方案--------------------
这个一般是配合MYSQL做的,通常在数据库设置好的,先是设置父类跟子类同一字段VAL ,然后子类再添加个保存父类ID的字段,然后WEB页面循环出来就行了