我有两个标签,我正在尝试创建房间预订,因此当user1
登录并选择房间时,他将被引导到第一个标签上,然后他/她可以请求房间然后,在成功请求房间后,它将进入第二个选项卡进行查看。我已经成功做到了。
问题是:当我更改任何用户帐户时,选项卡1中显示的可用数据就会像user1
一样被放置在选项卡2中。怎么了user2
尚未请求任何房间时。因此,所有房间都应该在他/她的末端可用。
查看
第一个标签
<?php foreach($dorms as $dorm): ?>
<a class="text-decoration-none">
<div class="col-md-6 mt-4" style="margin-left: 6rem;padding-bottom: 1rem;">
<div class="card top-shadow" style="width: 12rem; text-align:center;display:inline-block;">
<div class="card-body">
// TAB 1 DATA
</div>
</div>
</div>
</a>
<?php endforeach; ?>
第二个标签
<?php foreach($dormreservedas $dormres): ?>
<a class="text-decoration-none">
<div class="col-md-6 mt-4" style="margin-left: 6rem;padding-bottom: 1rem;">
<div class="card top-shadow" style="width: 12rem; text-align:center;display:inline-block;">
<div class="card-body">
// TAB 2 DATA
</div>
</div>
</div>
</a>
<?php endforeach; ?>
控制器
public function home()
{
// Check login
if(!$this->session->userdata('student_logged_in')){
redirect('students/login');
}
$data['title'] = 'Home';
$data['dorms'] = $this->dorm_model->get_dorms();
$data['dormreserved'] = $this->dorm_model->get_reserves();
$this->load->view('templates/header', $data);
$this->load->view('students/pages/home', $data);
$this->load->view('templates/footer');
}
型号
在第一个选项卡上,这是我将请求的数据分离到第二个选项卡上的方式
public function get_dorms(){
$this->db->where('id NOT IN(select dorm_id from reserves)');
$this->db->order_by('id', 'DESC');
$query = $this->db->get('dorms');
return $query->result_array();
}
第二个标签页模型
public function get_reserves(){
$this->db->join('reserves', 'reserves.dorm_id = dorms.id');
$this->db->where('reserves.tenant_id', $this->session->userdata('student_user_id'));
$query = $this->db->get('dorms');
return $query->result_array();
}
答案 0 :(得分:0)
我希望它对您有用。
public function get_dorms(){
$this->db->where('id NOT IN(select dorm_id from reserves WHERE tenant_id = '".$this->session->userdata('student_user_id')."')');
$this->db->order_by('id', 'DESC');
$query = $this->db->get('dorms');
return $query->result_array();
}