我在codeigniter中遇到了问题。 我从视图中调用控制器文章中的一个功能。
<li><a href="index.php/articles/Category/1" ><?php echo $item['CATEGORY'] ?></a></li>
功能
function getCategories() {
$this->db->select('ID_CAT,CATEGORY');
$this->db->from('CATEGORY');
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return FALSE;
}
}
function Category($id_cat) {
if (!$id_cat) {
$id_cat = 0;
}
$this->load->model('graf/home_model');
$data = array();
$data['categories'] = $this->home_model->getCategories();
$filtro_cat = $id_cat;
$data['article'] = $this->home_model->getArticles($filtro_cat);
$this->load->view('graf/articles', $data, TRUE);
}
home_model
function getArticles($filtro_cat) {
$this->db->select('*');
$this->db->from('ARTICLES');
if ($filtro_cat != 0) {
$this->db->where("ID_CAT=".$filtro_cat);
}
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return FALSE;
}
}
当我选择按钮时,网址会更改为http://localhost/Graf/index.php/articles/Category/1
,但不会加载
http://localhost/Graf/index.php/articles/
为什么?
答案 0 :(得分:2)
当您将load->view()
的第三个参数设置为true
时,它返回字符串值并且不输出任何内容
尝试更改:
$this->load->view('graf/articles', $data, TRUE);
到
$this->load->view('graf/articles', $data);
答案 1 :(得分:1)
在文件夹配置中设置routes.php,添加此代码;
$route['articles/Category/(.*)'] = 'articles/$1';
并更改链接
<li><a href="<?php echo site_url('index.php/articles/'.$item['ID_CAT']); ?>" ><?php echo $item['CATEGORY'] ?></a></li>
并将您的控制器更改为此
$this->load->view('graf/articles', $data);