我正在尝试创建动态页面而不创建新文件并从数据库中获取数据......
所以我的桌子会是这样的:
Pages
------
id | page_name | text
1 | about | about page goes here
2 | contact | contact page goes here
现在我的问题是如何设法$this->uri->segement(1)
自动检查给定的页面名称是否存在于数据库中?
我必须创建一个新的控制器来处理所有这些吗?
我正在尝试创建动态页面而不创建新文件并从数据库中获取数据......
所以我的桌子会是这样的:
Pages
------
id | page_name | text
1 | about | about page goes here
2 | contact | contact page goes here
现在我的问题是如何设法$this->uri->segement(1)
自动检查给定的页面名称是否存在于数据库中?
我必须创建一个新的控制器来处理所有这些吗?
如果您要检查多个页面,我建议您使用 Pages 控制器来管理这些页面。像这样的东西
class Pages extends CI_Controller {
public function view($page_name)
{
$this->load->Pages_model();
if($this->Pages_model->does_exist($page_name))
{
// Does exist. Do things.
} else
{
show_404();
}
}
}
在您的中,您将您的和 页面(以及您可能拥有的任何其他页面)routes.php
路由到页面控制器。about
contact
$route['about'] = "pages/view/about";
$route['contact'] = "pages/view/contact";
您Pages_model
将需要一个简单的函数来检查页面名称是否存在于数据库中。
function does_exist($page_name) {
$this->db->where('name', $page_name); // assuming you have a table with a `name` field
$query = $this->db->get('pages'); // select from the `pages` table
return $query->num_rows() > 0; // returns bool
}