简单搜索CI

时间:2017-04-27 05:54:25

标签: php codeigniter

这是我的控制器

public function search()
{
    $this->load->model('student_model')
    $keyword = $this->input->post('search');
    $student = $this->student_model->search($keyword);
    $this->load->view('result',$student);
}

这是我的模特

function search($keyword){
    $query = $this->db->get_where('data', ['nisn' => $this->input->get('nisn')])->row();
    return $query;
}

表单视图

<form class="margin-bottom-small" method="POST" action="<?php echo site_url('student/search/') ?>"> 
            <p> NISN</p>
            <input type="text" name="search">
            <input type="submit">   
        </form>

不知怎的,我只是想表现

<?php echo $student->nisn;?>
<?php echo $student->name;?>
<?php echo $student->class;?>

但是当我尝试它时总是不起作用 它继续说语法错误,意外'$ keyword'(T_VARIABLE) 无法帮助它在互联网上试用它并且它也不起作用

3 个答案:

答案 0 :(得分:1)

;

之后添加$this->load->model('student_model')
public function search()
{
    $this->load->model('student_model');
    $keyword = $this->input->post('search');
    $student = $this->student_model->search($keyword);
    $data['student']= $student;
    $this->load->view('result',$data);
}

答案 1 :(得分:0)

嗯,这似乎你有一些错误:

  • 之后需要分号(;):

    $this->load->model('student_model');
    
  • 您必须将此块转换为有效的数组格式:

    array('nisn' => $this->input->get('nisn'));
    

提示:当您在PHP中遇到一些T_VARIABLE错误时,建议您检查错误本身中显示的行之前的行。

据您所知:请查看 List of Parser Tokens

答案 2 :(得分:0)

我认为你的modelfuntion中的这个小改变将解决问题

    function search($keyword){
    $query = $this->db->get_where('tablename', ['field' => $keyword])->row();
    return $query;
}

所以在你的情况下,代码将是这样的

function search($keyword){
        $query = $this->db->get_where('data', ['nisn' => $keyword])->row();
        return $query;
    }