我对codeigniter很新。
我的views / check_availability / index.php文件中包含以下代码:
<?php $type = $_POST['type']; ?>
<a href="/reservation/check_availability/create">Create Reservation</a>
<?php foreach ($check_availability as $check_availability_item): ?>
<h2><?php echo $check_availability_item['room_type'] ?></h2>
<div id="main">
<?php echo $check_availability_item['room_description'] ?>
</div>
<p><a href="check_availability/<?php echo $check_availability_item['id'] ?>">View article</a></p>
<?php endforeach ?>
这是我在models / check_availabiliy_model.php文件下的代码
public function check_availability($type = FALSE)
{
if ($type === FALSE)
{
$query = $this->db->get('lf_rooms');
return $query->result_array();
}
$query = $this->db->get_where('lf_rooms', array('type' => $type));
return $query->row_array();
}
这是我的controllers / check_availability.php文件中的代码
public function index()
{
$data['check_availability'] = $this->check_availability_model->check_availability();
$data['title'] = 'Available Roooms';
$this->load->view('templates/header', $data);
$this->load->view('check_availability/index', $data);
$this->load->view('templates/footer');
}
在views / check_availability / index.php文件下我想根据POST方法的值调用check_availability函数来过滤room_type字段,如$ type = $ _POST ['type']。
目前这是我用来查询lf_rooms表中所有记录的代码:
<?php foreach ($check_availability as $check_availability_item): ?>
但是如何将$ type变量的值传递给check_availability函数?
答案 0 :(得分:1)
您应该在控制器中获取POST
参数,相应地查询数据库并仅在视图中显示结果。视图不应该有任何逻辑。
public function index()
{
$type = $this->input->post('type', TRUE);
$data['check_availability'] = $this->check_availability_model->
check_availability($type);
}