2013-03-07 62 views
0

我在我的CodeIgniter应用程序中有一个搜索功能,但它并不完全工作,我不知道是什么问题,因为我是CodeIgniter的新手。搜索显示所有的工厂,而不是我搜索

我的模型函数:

function get_search() 
{ 
    $match = $this->input->post('search'); 
    $this->db->like('Bedrijfsnaam', $match); 
    $this->db->or_like('Website', $match); 
    $this->db->or_like('Email', $match); 
    $query = $this->db->get('bedrijven'); 

    return $query->result(); 
} 

我的控制器功能

function search() 
{ 
    $this->load->view('header'); 
    $this->load->view('search'); 
    $this->load->view('footer'); 
} 

function searchresults() 
{ 
    $this->load->model('Bedrijven_model'); 
    $data['query'] = $this->Bedrijven_model->get_search(); 
    $this->load->view('header'); 
    $this->load->view('searchresults', $data); 
    $this->load->view('footer'); 
} 

第一功能是只为输入字段。第二个是结果。

我的观点:

我searchfield观点:

<div id="bigcontent"> 
<h2>Bedrijven zoeken</h3> 

<form name="input" action="searchresults" method="get"> 
<input type="search" name="search" id="search"> 
<input type="submit" value="Zoeken"> 
</form> 

我的结果页面:

<div id="bigcontent"> 
<table> 
<tr><th>Bedrijf</th><th>Website</th><th>email</th></tr> 
<?php foreach($query as $item):?> 
<tr> 
<td><?= $item->Bedrijfsnaam ?></td> 
<td><?= $item->Website ?></td> 
<td><?= $item->Email ?></td> 
</tr> 
<?php endforeach;?> 
</table> 
</div> 

希望有人看到这个问题:)

几张截图清理我的意思是: 这是搜索字段:

the search field

这是resultpage:

results page

谢谢:)

回答

1

你让所有的结果,因为这 - $>输入 - >后('搜索)为空

你必须做这样的事情

在您的视图改变的方法来发布一个:

<form name="input" action="searchresults" method="post"> 

或者,如果想保持形式的GET请求submiting改变你的控制器添加到该

$match = $this->input->get('search'); 

只要做其中一个这个变化并给予反馈

+0

非常愚蠢的工作。谢谢 :) – 2013-03-07 11:44:51

1

您不能值来建模。不要发布,将其作为控制器本身的参数传递。

MODEL:

function get_search($match) 
{ 
    $this->db->like('Bedrijfsnaam', $match); 
    $this->db->or_like('Website', $match); 
    $this->db->or_like('Email', $match); 
    $query = $this->db->get('bedrijven'); 

    return $query->result(); 
} 

CONTROLLER:

function search() 
    { 
     $this->load->view('header'); 
     $this->load->view('search'); 
     $this->load->view('footer'); 
    } 

    function searchresults() 
    { 
     $match = $this->input->post('search'); 
     $this->load->model('Bedrijven_model'); 
     $data['query'] = $this->Bedrijven_model->get_search($match); 
     $this->load->view('header'); 
     $this->load->view('searchresults', $data); 
     $this->load->view('footer'); 
    } 

$match通行证从控制器。

+0

那么删除模型函数?我如何将控制器中的新功能路由到视图? – 2013-03-07 09:54:42

+0

@KeesSonnema不要删除该功能。获取控制器中发布的值并将其传递给 – 2013-03-07 09:56:14

+0

啊,我明白了。将尝试:) – 2013-03-07 09:56:45

相关问题