1

在主页中,应显示所有主题。单击主题时,必须显示其各自的章节。第一次,即未选择主题时,必须显示主题 id 1 的章节。在下面的代码中,我是否必须从索引调用 get_chapters() 并使 get_chapters() 返回章节或任何其他更好的方法?

class Home extends CI_Controller {

private $data = array();

public function index()
{       
    $this->load->model('subjects_model');
    if($query = $this->subjects_model->get_all()) {
        $data['subjects'] = $query->result_array();
    }       


    $this->load->view('home_view', $data);
}



public function get_chapters($id=null) {

    $this->load->model("chapters_model");

    if(!is_null($id)) {
        $query = $this->chapters_model->get_where('chapters', array('subject_id'=>$id));
    } else {
        $query = $this->chapters_model->get('chapters');
    }

    if($query) {
        $data['chapters'] = $query->result_array();
    }

    $this->load->view('home_view', $data);      
}

}

4

2 回答 2

2

试试喜欢

public function get_chapters($id=null) {
    $this->load->model("chapters_model");

    if(is_null($id)) {
        $id = 1;   
    }
    $query = $this->chapters_model->get_where('chapters', array('subject_id'=>$id));

    if($query) {
        $data['chapters'] = $query->result_array();
    }

    $this->load->view('home_view', $data);
}

如果$idisnull那么默认subject id将变为1orelse 它将使用现有的搜索subject id

于 2013-08-14T05:44:54.187 回答
0
public function index($id=null) 

{

        $this->load->model("chapters_model");

        if(is_null($id)) {
             $id = 1;   
         }

        $query = $this->chapters_model->get_where('chapters', array('subject_id'=>$id));

        if($query) {
            $data['chapters'] = $query->result_array();
         }

        $this->load->view('home_view', $data);
}
于 2017-11-11T07:09:14.133 回答