2016-08-21 95 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提交,谢谢 –

相关问题