1

我的搜索实现有什么问题,这是我希望实现的。

查看页面(表单)-> 控制器(表单数据变量)-> 模型(查询数据库并传递给控制器​​)​​如果有结果返回 TRUE 否则返回 FALSE -> 控制器(从模型中获取数据)如果为真则在表中显示数据 else if FALSE 显示没有返回结果的消息。

这是我的页面:

view:  
<form action="<?php echo site_url('retrieve')?>" method="post"> 
<input type="text" name="id">  
.... 
</form>


model:
public function retrieve($id)
{

$search = "SELECT *  FROM table";
    $result = $this->db->conn_id->prepare($search);
    $result->execute();     

    if($result->rowCount()>0){
    return  $query_result = $result->fetchAll(PDO::FETCH_ASSOC);
    }
}  

controller:  
public function retrieve_info()
{
   $id = $this->input->post('id'),

   $this->load->model('search_model');
   $this->search_model->retrieve($id);      
   $data['query_result'] = $this->search_model->retrieve($id);    
   $this->load->view('display',$data);          

}
4

1 回答 1

0

首先,表单操作链接到控制器中的检索功能。但是,从您的示例中,您的控制器中没有检索功能,只有您的模型中。

看法:

 <form action="<?php echo site_url('retrieve')?>" method="post"> 
    <input type="text" name="id">  
    .... 
    </form>

模型:

public function retrieve($id)
{

$search = "SELECT *  FROM table";
    $result = $this->db->conn_id->prepare($search);
    $result->execute();     

    if($result->rowCount()>0){
    return  $query_result = $result->fetchAll(PDO::FETCH_ASSOC);
    }
}  

控制器:

public function retrieve()
{

   if($_POST){
       $id = $this->input->post('id'),

      $this->load->model('search_model');      
      $data['query_result'] = $this->search_model->retrieve($id);    
      $this->load->view('display',$data);          
   }else {
     //form failed to submit via post
   }

}
于 2012-12-26T20:25:36.177 回答