+ -
当前位置:首页 → 问答吧 → 多个循环的值的输出

多个循环的值的输出

时间:2011-05-31

来源:互联网

举例:
一个公司有三个部门:市场部、人事部、技术部
然后每个部门各有五个人

在action里先查询,三个部门,在模板里<volist>循环输出三个部门
下面是不是还要一次查询,根据部门的ID找出属于每个部门的五个人,

在Action里怎么写两次查询?在模板里怎么写??

谢谢

作者: crav   发布时间: 2011-05-31

你的表结构是怎么样的?我假设你有 有一个部门表(think_section), 有一个员工表(think_member)。 部门表, 有字段:主键id, 部门名称name。 员工表有字段:主键id,用户名username,所属部门section_id,
  1. <?php
  2. class IndexAction extends Action{
  3. function index(){
  4. //第一个sql语句,读取所有部门
  5. $section=M("Section")->select();
  6. //第二个sql语句,读取所有人
  7. $members=M("Member")->select();

  8. //然后给人归类
  9. $members2=array();
  10. foreach($members as $arr){
  11. $members2[$arr['section_id']][]=$arr;
  12. }

  13. $this->assign("section",$section);//这是部门数据
  14. $this->assign("members",$members2);//这是处理后的人的数据

  15. }
  16. }
  17. ?>
复制代码
在模版中使用:
  1. <volist name="select" id="vo">
  2. 部门名称: {$vo.name}
  3. 部门人员:
  4. <volist name="members[$vo['id']]" id="vo2">
  5. ID: {$vo2.id}<br>
  6. </volist>
  7. </volist>
复制代码
只用了 两个sql, 你自己测试一下代码, 随手写的, 我没有经过测试。

作者: luofei614   发布时间: 2011-06-01