用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3934|回复: 10
收起左侧

[讨论/交流] 数据查询问题

[复制链接]
发表于 2012-3-13 09:33:49 | 显示全部楼层 |阅读模式
我有两个有关联的表,其中A表的一个信息对应B表的多个信息,而且显示的效果我想要的是,A中的一条信息对应着B中的多个信息的那种显示,这样的话就必须借助两个查询两个循环来完成,可是我在ci下用这种方法,第二个查询只能返回一条查询结果,请问是怎么回事?有没有办法解决?或者用什么方法实现我的这个效果?
发表于 2012-3-13 09:59:32 | 显示全部楼层
贴下code 和 表
 楼主| 发表于 2012-3-13 10:27:14 | 显示全部楼层
模型中:
function m_search()
{
   $port= $this->db->query("select id,name from port");
    return $port;
}
控制器中:
function c_search()
{
   $this->load->model('m_port');
   $data=$this->m_port->m_search();
  foreach($data->result() as $row)
{
    $rate= $this->db->query("select * from rate where pid=$id");
}
$this->smarty->assign('port', $data->result());
$this->smarty->assign('rate', $rate->result());
$this->smarty-display('index.htm');
}

想要的效果是
 楼主| 发表于 2012-3-13 10:28:41 | 显示全部楼层

发表于 2012-3-13 10:52:58 | 显示全部楼层
你为什么不用一个sql来查询呢
select * from B b
left join A a
on b.upid = a.id
where ......
这样不就将2个表关联起来了
查询的时候一次就都出来了么
 楼主| 发表于 2012-3-13 11:01:04 | 显示全部楼层
lynn.wang 发表于 2012-3-13 10:52
你为什么不用一个sql来查询呢
select * from B b
left join A a

那个表格的图看到了吗!我的一个大单元格的数据对应的是后面的n行的数据,然后我这一个界面有n个这样的大单元格,如果我就写一个查询的话,我怎么区分大小单元格的对应关系,有怎么将他们循环出来,还有就是大小单元格的对应关系不固定,也就是说,第一个大单元格对应2行小单元格,第二个大单元格对应6行小单元格
发表于 2012-3-13 11:02:54 | 显示全部楼层
where 里面加上每个大表格的条件就好了啊

你可以把多个查询 放到数组里面返回
然后再处理到界面来啊
 楼主| 发表于 2012-3-13 11:26:33 | 显示全部楼层
对哈,忘了,呵呵,谢谢了
发表于 2012-3-13 11:30:55 | 显示全部楼层
呵呵 没事
只是有弄过类似的
有点印象哈!!!
发表于 2012-3-13 11:37:38 | 显示全部楼层
楼主sql不过关阿

本版积分规则