为什么不在我调用函数时加载视图?笨

时间:2016-09-20 23:59:48

标签: php codeigniter

我在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/

为什么?

2 个答案:

答案 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);