包含文件的问题?
在视图A.PHPB.PHP C.PHP 中,使用了$this->load->view("sidebar")包含进了sidebar.php这个页面sidebar.php这个页面中有部分是要从数据库中读出来的内容
难道要在ABC的控制器中把程序代码各写一遍吗,有没有办法只写一次
用model 怎么个用法,能详细说一下吗 model里面写获取数据库信息的函数,然后传回控制器,控制器再用参数的方式传给视图 你们可能没有明白我的意思啊
如图:
本帖最后由 孤月蓝风 于 2011-11-19 16:30 编辑
tgw2000 发表于 2011-11-19 14:47 static/image/common/back.gif
你们可能没有明白我的意思啊
如图:
我似乎依然不明白你的意思。
三个函数是要取不同的数据吗?取数据的话写在model层。
例如: model.php
function get_info($table)
{
$query = $this->db->get($table);
return $query->result();
}
controller.php
function index()
{
if ( 查询 a 表 ) { $data['table'] = 'a' ; }
if ( 查询 b 表 ) { $data['table'] = 'b' ; }
$this->load->model('model') ;
$data['show'] = $this->model->get_info($data) ;
$this->load->view('side',$data);
}
只是我的想法,我还没有给模型传过参数。 取数据的过程我已经放到模型中了,图上三个函数中绿色的代码段是相同的代码,我的意思是能不能把控制器的过程中相同的代码提取出来,然后用inclue包含 :Q 你的话真难懂…… :Q
CI里面我还没用到过include,像我上面的代码一样,只写一个函数不就行了,调用不同的内容传不同的参数就行了啊 我上代码吧,在三个过程中共同的代码是这一部分,
$data['broker'] = $this->Esf_model->getBrokerByID($bid);
$data["price_esf"] = $this->Esf_model->type_list('house_price');
$data["price_chuzu"] = $this->Esf_model->type_list('house_hire_price');
$data["huxing"] = $this->Esf_model->type_list('house_huxing');
$data['xiaoqu_esf'] = $this->Esf_model->type_xiaoqu('house_ershou',$bid);
$data['xiaoqu_chuzu'] = $this->Esf_model->type_xiaoqu('house_chuzu',$bid);
是要把这一部分写成一个过程放模型中吗,在side中需要用这几个变量, 本帖最后由 Emory.M 于 2011-11-19 19:19 编辑
可以在控制器构造函数里包含进去
建议还是学习下php面向对象基础然后再用CI 有些问题就好理解一些
类体内部的方法可以self关键字互相调用,你可以用model函数把这几个放在一起,用数组传参并返回对象集合
页:
[1]
2