codeigniter从控制器中的模型获取返回的数据变量,并在条件语句中使用它

时间:2012-12-26 17:52:45

标签: codeigniter

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

查看页面(表单) - > controller(表单数据变量) - > model(查询数据库并传递给控制器​​)​​如果有结果则返回TRUE,否则返回FALSE - > controller(从模型中获取数据),如果表中为true,则显示数据,如果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);          

}

1 个答案:

答案 0 :(得分: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
   }

}