2016-08-21 51 views
2

所以我建立了一個MVC項目來搜索數據庫並顯示結果。Codeigniter搜索只是重新加載頁面

單擊搜索按鈕時,頁面會自動重新加載。任何想法,我出了什麼問題?

控制器

public function search() 
{ 
$txt = $this->input->post('search', true); 
$this->load->model('post'); 
$data['searchbox'] = $this->post->search($txt);  //search is function on model 
$this->load->view('/search', $data); 
} 

模型

public function search($txt) 
{ 
     $query = $this->db->query("SELECT * From st_posts"); 
     return $query->result(); 
} 

窗體視圖

<form action="<?php echo site_url('/search');?>" method = "post"> 
     <div class="form-group"> 
     <div class="col-md-8"> 
      <input type="text" name = "search" id="search" class="form-control" /> 
     </div> 
      <div class="col-md-4"> 
      <input type="submit" value = "Search" class="btn btn-primary center-block" /> 
      </div> 
     </div> 
     </form> 

結果視圖

<table> 
      <tr> 
       <th>ID</th> 
       <th>title</th> 
       <tr> 
        <?php foreach($searchbox as $row)?> 
         <tr> 
          <td><?php echo $row->id;?></td> 
          <td><?php echo $row->name;?></td> 
         </tr> 
        <?php endforeach;?> 
       </table> 
+0

貴','是正確設置窗體操作並指向正確的控制器?嘗試手動設置表單操作。 – RanjanaLK

+0

$ this-> load-> view('/ search',$ data);而是使用$ this-> load-> view('search',$ data); .... REMOVE /搜索前 – owaishanif786

+0

也回聲site_url('/ search');?>在這裏你只指定控制器,之後應該有方法。類似site_url('/ search/search'); url總是像/控制器/方法 – owaishanif786

回答

0

你應該總是使用模型只是爲了查詢數據庫如刪除,搜索,添加,更新數據等我始終應用這樣只是試圖以這種形式更新代碼:

控制器: 那說,我們對控制器是這樣一個功能:

public function search() 
{ 
    $txt = $this->input->post('search', true); 
    $this->load->model('Your model that you want to search from'); 
    $data['searchbox'] = $this->yourModel->search($txt);  //search is function on model 
    $this->load->view('pages/membership_area/search', $data); 

}

型號: 那說,我們也有一個功能,這樣的模式:

public function search($txt) 
{ 
     $query = $this->db->query("SELECT * From TableName"); 
     return $query->result(); 
} 

查看

<?php foreach($searchbox as $row)?> 
<tr> 
    <td><?php echo $row->id;?></td> 
    <td><?php echo $row->name;?></td> 
</tr> 

希望它爲你工作:)

+0

嘿謝謝,所以我添加了你已經放在上面,我得到一個404提交時出錯 –

+0

我不知道如何命名和組織您的文件。也許問題可能出現在控制器上,當你加載視圖改變路徑,如下所示:例如:如果你有一個名爲info.php的文件,如下所示:view/info。只需添加路徑加載視圖('信息',數據) – besartm

+0

更新與代碼的問題,仍然得到404提交,謝謝 –