2

これは私のテーブルです:

カテゴリー:

{category_id , category }

書類:

{document_id, title, address, category}

私のコントローラー

Class Search Extends CI_Contrller
{
    function __construct()
    {
        parent::__construct();
        $this->load->model('mymodel');
    }

    function search_keyword()
    {
        $keyword    =   $this->input->post('keyword');
        $data['results']    =   $this->mymodel->search($keyword);
        $this->load->view('result_view',$data);
    }

}

私のモデル:

Class Mymodel Extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }

    function search($keyword)
    {
        $this->db->like('name',$keyword);
        $query  =   $this->db->get('document');
        return $query->result();
    }
} 

そして、これは私の見解です:

<form action="<?php echo site_url('search/search_keyword');?>" method = "post">
<input type="text" name = "keyword" />
<input type="submit" value = "Search" />
</form>
<table>
?>
foreach($results as $row){
<?php
    <tr>
        <td><?php echo $row->title?></td>
        <td><?php echo $row->category?></td>
    </tr>
<?php   
}
?>
</table>

上記のコントローラーとモデルによると、ドキュメントのタイトルである 1 つのキーワードしか取得できませんが、次のことを行います。

title = $keywordと の場合に条件 1 に追加しますcategory=$keyword2

このMVCで可能ですか?

4

4 に答える 4

3

それを試してみてください。

  Class Mymodel Extends CI_Model
 {
  function __construct()
  {
    parent::__construct();
    }

  function search($keyword)
  {
    $this->db->where('name',$keyword);
    $this->db->where('category',$keyword2);
    $query  =   $this->db->get('document');
    return $query->result();
  }

}

または、条件を使用することもできます。

 $this->db->like('name',$keyword);
 $this->db->like('category',$keyword2);

コントローラーで$keyword2を定義します

于 2013-05-20T09:47:11.243 に答える
0

カテゴリ フィールドでキーワード 2 を照会する別のメソッドをモデルに追加するだけです。
コントローラーで、「results2」などの別の配列項目に戻り値を割り当てるだけです。これがあなたにアイデアを与えることを願っています。

于 2013-05-20T09:48:30.137 に答える