Mydatabase image click to see

我想展示

组1


        shop1
        shop2
        shop3


组2


        shop1
        shop2
         shop3
         shop5


组2


        .....
        ....
       ....




function getGroups($user_id) {

    $this->db->select ( '*' );
    $this->db->from ( 'user' );
    $this->db->join ( 'groups', 'groups.user_id = user.id');
    $this->db->join ( 'shop', 'shop.group_id = groups.group_id');
    $this->db->where('user.id',$user_id);
    return $this->db->get()->result_array();
}

最佳答案

谢谢大家的回答。
对于以上答案,我可能不是不明白。
我改用这种方法。
这可能不是正确的方法。
为我工作。

function getGroups($user_id) {
    $this->db->select('*');
    $this->db->from('groups');
    $this->db->where('user_id', $user_id);
    $this->db->order_by('group_id', 'ASC');
    $group_data = $this->db->get()->result_array();

    foreach($group_data as $key=>$value){

        $this->db->select('*');
        $this->db->from('shop');
        $this->db->where('group_id', $value['group_id']);
        $this->db->order_by('shop_id', 'ASC');
        $shop_data = $this->db->get()->result_array();

        $my_group[$key]['group_name'] = $value['group_name'];
        $my_group[$key]['group_id'] = $value['group_id'];
        $my_group[$key]['group_shop'] = $shop_data;


    }
    return $my_group;
}

关于php - Codeigniter如何连接3表并从用户ID显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42991157/

10-12 04:36