我是使用codeigniter的新手,我正在学习为我的学校项目开发一个基于mysql数据库的应用程序,我有10table(table1,table2,.... table10),我正在创建我的模型就像这样
class Show_model extends CI_Model{
function __construct()
{
parent ::__construct();
}
function table1()
{
$query1 = $this->db->get('table1');
return $query1->result();
}
function table2()
{
$query2 = $this->db->get('table2');
return $query2->result();
}
bla....bla......................
function table10()
{
$query10 = $this->db->get('table10');
return $query10->result();
}
}
和我的控制器就是这样的
class Show extends CI_Controller{
function __construct(){
$this->load->model('show_model');
}
function show_table1()
{
$data['show_table1'] = $this->show_model->table1();
$this->load->view('v_page_1',$data);
}
function show_table2()
{
$data['show_table2'] = $this->show_model->table2();
$this->load->view('v_page_2',$data);
}
bla....bla....
}
我的目标是:
-
如何简单地使用我的代码
-
如何在一个页面上显示/查看并为每个要显示的表创建一个链接
这是我要展示的:
clik to show : table1|tabel2|table3|......|
-----------------------
|itemA | itemB |itemC |
-----------------------
| | | |
| | | |
-----------------------
有人帮助我,或解释我怎么能这样做,或者可能有些人分享教程的链接
2 回答
您可以将要显示的表传递给控制器参数 . 然后创建一个功能来创建菜单 . 如果只使用$ this-> db-> get('');则不需要模型 .
我不是百分百肯定我正确理解这个问题,但是这里有 .
我会为此使用Routes,它可以通过几个函数完成 . 打开routes.php文件(./application/config/routes.php),然后添加;
这会将访问“/ show / table1”的任何用户重新路由到“show / table / table1”函数 .
在您的控制器中,您可以删除所有“show_table#”函数,并将其替换为此;
这是您的路径文件向用户显示的功能,非常简单 . 首先我们检查$ table,如果没有找到我们显示404.如果我们找到一个,我们将去模型 .
现在,在你的模型中,你也可以删除所有的表#函数,用它;
而已 . 您现在可以在视图中显示每个表的链接 .