Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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_Mysql_Codeigniter 3 - Fatal编程技术网

Php 连接三个表

Php 连接三个表,php,mysql,codeigniter-3,Php,Mysql,Codeigniter 3,基本上我有三张桌子,分别是班级、房间和宿舍。这是我的桌子 阶级 我的桌子房间看起来像这样 id rm_number capacity bed_no class hostel is_vaccant 34 1 5 1A,1B,1C,1D,1E 23 7 1 35 2 4 2A,2B,2C,2D

基本上我有三张桌子,分别是班级、房间和宿舍。这是我的桌子

阶级

我的桌子房间看起来像这样

    id  rm_number  capacity     bed_no                   class  hostel  is_vaccant
    34  1            5        1A,1B,1C,1D,1E               23     7      1
    35  2            4        2A,2B,2C,2D                  24     7      1
    36  3            4        3A,3B,3C,3D                  25     10     0
    37  4            6        4A,4B,4C,4D,4E,4F            26     10     0
    38  5            3        5A,5B,5C                     23     7      1
    39  6            8        6A,6B,6C,6D,6E,6F,6G,6H      25     10     1
    id  user_id     name    type    place   address          phone    username      password
    7   78         periyar  Girls   tirur   malappuram                 periyar  periyarhostel
    10  81         pamba    Boys    tirur   malappuram  04942569878     pamba   pambahostel
public function get_all_vaccancy_list()
{
    $this->db->select('class.*,rooms.class,hostel.name as h_name');
    $this->db->join('rooms','class.id=rooms.class','left outer');
    $this->db->join('hostel','hostel.id=rooms.hostel');
    $query=$this->db->get('class');
    return $query;


}
我的旅馆桌子看起来像这样

    id  rm_number  capacity     bed_no                   class  hostel  is_vaccant
    34  1            5        1A,1B,1C,1D,1E               23     7      1
    35  2            4        2A,2B,2C,2D                  24     7      1
    36  3            4        3A,3B,3C,3D                  25     10     0
    37  4            6        4A,4B,4C,4D,4E,4F            26     10     0
    38  5            3        5A,5B,5C                     23     7      1
    39  6            8        6A,6B,6C,6D,6E,6F,6G,6H      25     10     1
    id  user_id     name    type    place   address          phone    username      password
    7   78         periyar  Girls   tirur   malappuram                 periyar  periyarhostel
    10  81         pamba    Boys    tirur   malappuram  04942569878     pamba   pambahostel
public function get_all_vaccancy_list()
{
    $this->db->select('class.*,rooms.class,hostel.name as h_name');
    $this->db->join('rooms','class.id=rooms.class','left outer');
    $this->db->join('hostel','hostel.id=rooms.hostel');
    $query=$this->db->get('class');
    return $query;


}
当我像这样使用我的代码时

SI no   Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12       8
  2     periyar   per2         12       4
  3     pamba     pamba1       12       8
  4     pamba     pamba2       12       2
  5     periyar   per1         12       8
  6     pamba     pamba1       12       8
 SI no  Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12           8
  2     periyar   per2         12           4
  3     pamba     pamba1       12           8
  4     pamba     pamba2       12           2
控制器

    public function view_vaccancy()
    {
       $data['active_mn'] = 'view_vaccancy';
       if( ! $this->ion_auth->logged_in() || !$this->ion_auth->is_admin())
         {
          redirect('login');
         }      

    $data['class'] = $this->admin_model->get_all_vaccancy_list()->result();
    $data1=array();


    foreach ($data['class'] as $row) 
    {
        $bed = $this->admin_model->bed_by_class_admin($row->id)->row();
        $res = $this->admin_model->get_admitted_room_admin($row->id);
        $data1[] = $bed->capacity-$res;
    }
    $data['available'] = $data1;

    $data['bed'] = $bed = $this->admin_model->bed_by_class_admin($row->id)->row();

    $data['form_url'] = ''; 
    $data['plc_hold'] = 'Name / ID'; 
    $this->load->view('admin/view_vaccancy',$data);
}
我的模型看起来像这样

    id  rm_number  capacity     bed_no                   class  hostel  is_vaccant
    34  1            5        1A,1B,1C,1D,1E               23     7      1
    35  2            4        2A,2B,2C,2D                  24     7      1
    36  3            4        3A,3B,3C,3D                  25     10     0
    37  4            6        4A,4B,4C,4D,4E,4F            26     10     0
    38  5            3        5A,5B,5C                     23     7      1
    39  6            8        6A,6B,6C,6D,6E,6F,6G,6H      25     10     1
    id  user_id     name    type    place   address          phone    username      password
    7   78         periyar  Girls   tirur   malappuram                 periyar  periyarhostel
    10  81         pamba    Boys    tirur   malappuram  04942569878     pamba   pambahostel
public function get_all_vaccancy_list()
{
    $this->db->select('class.*,rooms.class,hostel.name as h_name');
    $this->db->join('rooms','class.id=rooms.class','left outer');
    $this->db->join('hostel','hostel.id=rooms.hostel');
    $query=$this->db->get('class');
    return $query;


}
我的输出是这样的

SI no   Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12       8
  2     periyar   per2         12       4
  3     pamba     pamba1       12       8
  4     pamba     pamba2       12       2
  5     periyar   per1         12       8
  6     pamba     pamba1       12       8
 SI no  Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12           8
  2     periyar   per2         12           4
  3     pamba     pamba1       12           8
  4     pamba     pamba2       12           2
但我必须这样做

SI no   Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12       8
  2     periyar   per2         12       4
  3     pamba     pamba1       12       8
  4     pamba     pamba2       12       2
  5     periyar   per1         12       8
  6     pamba     pamba1       12       8
 SI no  Hostel    Class     Total Seat  No. of Vaccancy
  1     periyar   per1         12           8
  2     periyar   per2         12           4
  3     pamba     pamba1       12           8
  4     pamba     pamba2       12           2
我的问题是,要想解决这个问题,请提前感谢您,您需要对它进行分组

$this->db->group_by('hostel, class');