这是我的表:
类别:
{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>
根据上面显示的控制器和模型,我只能检索一个关键字,这是我的文档标题,但现在我想:
如果title = $keyword
和category=$keyword2
加入条件一。
是否可以在此MVC中使用?
答案 0 :(得分: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
答案 1 :(得分:1)
只需使用一个额外的声明,但为此你需要一个新的参数$ keyword2.pass从控制器到模型。
$this->db->select('*');
$this->db->from('document');
$this->db->like('name', $keyword1);
$this->db->like('category', $keyword2);
return $this->db->get()->result();
答案 2 :(得分:0)
只需在模型中添加另一种方法,即在类别字段中查询关键字2 在您的控制器中,只需将返回值分配给另一个数组项,如“results2”。 希望这能给你一个想法。
答案 3 :(得分:0)
是的,可以在Codeigniter&amp;你应该通过上面发布的解决方案来实现它。
没问题。试着按照这个步骤&amp;如果您发现任何问题,请告诉我。
1) Add input text field named 'keyword2' to your view
2) Read 'keyword2' value in Controller like 'keyword'
**$keyword = $this->input->post('keyword');**
将两个关键字都传递给模型
3) $data['results'] = $this->mymodel->search($keyword,$keyword2);
模型中的搜索功能应如下所示:
function search($keyword,$keyword2)
{
$this->db->like('name',$keyword);
$this->db->like('name',$keyword2);
$query = $this->db->get('document');
return $query->result();
}
希望这可以帮到你。
最诚挚的问候, Zeeshan。