2013-03-07 94 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

相關問題