我正在使用基于Codeigniter框架的系统,并使用来自数据库的大量数据。
唠叨我的是,在每个函数中,我需要在方框内面声明你所看到的内容。每次我创建一个具有可查看内容的新功能时,我都需要重新填写此功能。有没有办法把它变成一个简单的方法?例如,你在普通的php中可以:
include_once 'topmenu_dbs';
因为现在紧张,我站在任务之前向阵容添加另一个数据库查询,现在让我单独更改所有功能,这需要一些时间。如果我将来需要做更多的事情,那么需要同样的旅行。
public function entre()
{
$this->load->model('mylibrary');
$data['crew_pizza_book']=$this->mylibrary->crew_pizza_book();
$data['lanare']=$this->mylibrary->lanare();
$data['kiosk_rec']=$this->mylibrary->kiosk_rec();
$this->load->view('header');
$this->load->view('topmenu', $data);
$this->load->view('entre');
$this->load->view('footer');
}
根据我到目前为止收到的帮助,这里有一个问题的更新:
<?php
function init_data()
{
$CI=get_instance();
$CI->load->model('mylibrary');
$data['crew_pizza_book']=$this->mylibrary->crew_pizza_book();
$data['lanare']=$this->mylibrary->lanare();
$data['kiosk_rec']=$this->mylibrary->kiosk_rec();
return $data;
}
?>
在config / autoload.php中,我添加了新的帮助文件。
$autoload['helper'] = array('url', 'init');
在我的模型“mylibrary”中,它看起来像这样:
<?php
class Mylibrary extends CI_Model
{
function crew_pizza_book(){
$query=$this->db->query("SELECT * FROM crew_pizza_book ORDER BY pizza");
return $query->result();
}
function lanare(){
$query=$this->db->query("SELECT * FROM crew_lanare ORDER BY id ASC");
return $query->result();
}
function kiosk_rec(){
$query=$this->db->query("SELECT * FROM crew_kiosk_rec");
return $query->result();
}
}
?>
我尝试用一个简单的函数测试它:
public function test()
{
print_r(init_data());
}
这会生成一个空白屏幕。
当我尝试将静态值设置为这样的数组时:
$data['crew_pizza_book']="a";
$data['lanare']="b";
$data['kiosk_rec']="c";
我得到了很好的印刷品:
Array ( [crew_pizza_book] => a [lanare] => b [kiosk_rec] => c )
答案 0 :(得分:0)
你可以解决这个问题:
首先创建一个名为say,init_helper.php的帮助文件,并在其中添加一个函数:
function init_data()
{
$CI = &get_instance();
$CI->load->model("my_model");
$data['crew_pizza_book'] = $CI->my_model->crew_pizza_book();
$data['lanare'] = $CI->my_model->lanare();
$data['kiosk_rec'] = $CI->my_model->kiosk_rec();
return $data;
}
然后在autoload
helper
config/autoload.php
。{
/*
| -------------------------------------------------------------------
| Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('init'); //ignore the '_helper.php' portion of the filename
现在在您的代码中,将其命名为:
$this->load->view('header');
$this->load->view('topmenu', init_data());
$this->load->view('entre');
$this->load->view('footer');