Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有办法避免在第一个和第二个选项卡上重复数据?PHP代码点火器_Php_Codeigniter_Codeigniter 3 - Fatal编程技术网

是否有办法避免在第一个和第二个选项卡上重复数据?PHP代码点火器

是否有办法避免在第一个和第二个选项卡上重复数据?PHP代码点火器,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我正在创建一个类似购物车的程序,因此在我请求或发送预订请求后,数据将放在第二个选项卡上。我已经这样做了,但问题是我需要删除第一个选项卡上选择的数据。以下是一张供视觉参考的图像: 因此,输出应该是:在第一个选项卡上,EO1应该只可用,高位红色圆圈应该放在选项卡2上 然后是我的第二张账单 我已经尝试过使用新数组和数组推送以及数组中的数据,但仍然存在第一个选项卡数据仍然显示的问题,如何隐藏或删除从第一个选项卡中选择的数据?这是我的密码 看法 第一选项卡 <?php $newArray = a

我正在创建一个类似购物车的程序,因此在我请求或发送预订请求后,数据将放在第二个选项卡上。我已经这样做了,但问题是我需要删除第一个选项卡上选择的数据。以下是一张供视觉参考的图像:

因此,输出应该是:在第一个选项卡上,EO1应该只可用,高位红色圆圈应该放在选项卡2上

然后是我的第二张账单

我已经尝试过使用新数组和数组推送以及数组中的数据,但仍然存在第一个选项卡数据仍然显示的问题,如何隐藏或删除从第一个选项卡中选择的数据?这是我的密码

看法

第一选项卡

<?php $newArray = array(); ?>

 <?php foreach($dorms as $dorm): ?>
  
    <?php 
        $res = $dorm['code'];
        array_push($newArray, $res);
    ?>

  <a class="text-decoration-none" href="<?php echo base_url() ?>pages/view/<?php echo $dorm['id']; ?>">
    <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">
          <img src="<?php echo base_url(); ?>assets/images/dorms/<?php echo $dorm['image'] ?>" style="border-radius: 15%;width:100px;height:100px;">
          <hr class="border-black">
          <h5 class="card-title color-black">Room Type: <b><?php echo $dorm['type']; ?></b></h5>
          <h5 class="card-title color-black">Room Cost: <br><b> P <?php echo $dorm['price']; ?>.00</b></h5>

          <?php if ($dorm['status'] == 0): ?>
              <h5 class="card-title color-black"> <b>  <span class="badge badge-success">Reserve Now</span>  </b></h5>
          <?php elseif ($dorm['status'] == 1): ?>
               <h5 class="card-title color-black"> <b>  <span class="badge badge-info">Pending Reservation</span>  </b></h5>
          <?php endif; ?>

        </div>
      </div>
    </div>
  </a>

<?php endforeach; ?>
模型


请更新“获取宿舍”功能

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();
 }

过滤应该在控制器中完成,或者可能在模型查询中完成,但不能在视图中完成。您是否根据重复的
code
列值筛选第二个选项卡的数据?您需要为第一个选项卡reserves table写入
not exists
,存储reserved dorms,并为第一个选项卡仅显示not reserved dorms。所以在这个函数中,我从dorms表中获取了所有的dorms,但是在where条件下,不在reserved表中的dorms。您好,您的代码可以工作,但是当我更改用户帐户时出现问题,那么所选的数据也不在那里,它应该在那里,因为另一个帐户尚未执行某些事务。我们如何解决这个问题?这是链接,你能帮我找到解决方案吗。
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->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();
}
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();
 }