设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
如何进行多表查询呢?
1
2
/ 2 页
下一页
返回列表
查看:
6696
|
回复:
11
[已解决]
如何进行多表查询呢?
[复制链接]
heiniu
heiniu
当前离线
积分
105
IP卡
狗仔卡
发表于 2009-10-23 13:44:01
|
显示全部楼层
|
阅读模式
假如在一个视图页面里,想分别对多个表进行查询,那么该怎么写呢?
如果这样在controller的funtion里写
$data['q1']=$this->db->get('table1');
$data['q2']=$this->db->get('table2');
$this->load->view('view',$data);
试了一下,好像只能取到$q1,而$q2则取不到,$q2->num_rows()>0的判断返回错误。。。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
heiniu
heiniu
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2009-10-23 13:51:20
|
显示全部楼层
在view里直接写$q2 = $this->db->get('table2');倒是可以。但是视图里写数据库操作感觉怪怪的,不知道如果想在function里应该怎么实现。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-10-23 13:54:45
|
显示全部楼层
$this->db->get('table1');
这个返回的不是最终的记录集,请仔细看手册。
http://codeigniter.org.cn/user_guide/database/results.html
回复
支持
反对
使用道具
举报
显身卡
heiniu
heiniu
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2009-10-23 14:00:08
|
显示全部楼层
我不是说他不能做,而是怎么在funtion里调用后将多个记录集传到view中。。。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-10-23 14:02:24
|
显示全部楼层
调用两次下面的代码
PHP
复制代码
$query
=
$this
->
db
->
query
(
"要执行的 SQL"
)
;
foreach
(
$query
->
result
(
)
as
$row
)
{
echo
$row
->
title
;
echo
$row
->
name
;
echo
$row
->
body
;
}
复制代码
回复
支持
反对
使用道具
举报
显身卡
heiniu
heiniu
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2009-10-23 15:54:19
|
显示全部楼层
貌似一个页面只传了一回参数。。。你还是没明白我的问题。。。
$this->load->view('main_view',$data);
回复
支持
反对
使用道具
举报
显身卡
heiniu
heiniu
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2009-10-23 16:00:33
|
显示全部楼层
看来一个funtion里调用的数组,如果是多个只能对应传给多个view,然后将其组合起来。。。一个view可以调用另一个view,我脑子僵化了,把它看得太美,以为一个view就把我傻瓜化了,哈哈。。。
直接在view中操作数据库不是不可以,不科学。。。
回复
支持
反对
使用道具
举报
显身卡
lihao812
lihao812
当前离线
积分
67
IP卡
狗仔卡
发表于 2009-10-23 16:02:44
|
显示全部楼层
给你贴个我的多表查询...
$data['classes'] = $this->db->get_where('CCA_STAFFSKILL A,CCA_BUSINESS B','A.STATE = 0 AND A.OPRNO = '.$this->session->userdata('WorkNum').' AND B.ID = A.SKILLID AND B.B_FID = 0 ORDER BY B.B_SORT ASC');
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-10-23 17:30:33
|
显示全部楼层
$this->load->view('main_view',$data);
你是说只能传一个 $data 变量到视图里?确实是只能传一个,但是 $data 是个数组,可以传递任意多个元素,然后视图会自动解析这些元素,并转换成变量。
回复
支持
反对
使用道具
举报
显身卡
visvoy
visvoy
当前离线
积分
1342
IP卡
狗仔卡
发表于 2009-10-23 18:57:03
|
显示全部楼层
请帖代码和错误信息
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页