简体   繁体   English

两表合一 function

[英]join 2 table in one function

i want to join the data of 2 tables in 1 table and display the data of 2 tables.我想在 1 个表中加入 2 个表的数据并显示 2 个表的数据。 I already have function that load the one table.我已经有加载一张表的 function 。 can someone modify this function code to get the 2 tables?有人可以修改此 function 代码以获得 2 个表吗? im just a beginner in php.我只是 php 的初学者。

Model_users.php Model_users.php

public function getUserGroup($userId = null) 
    {
        if($userId) {
            $sql = "SELECT * FROM user_group WHERE user_id = ?";
            $query = $this->db->query($sql, array($userId));
            $result = $query->row_array();

            $group_id = $result['group_id'];
            $g_sql = "SELECT * FROM groups WHERE id = ?";
            $g_query = $this->db->query($g_sql, array($group_id));
            $q_result = $g_query->row_array();
            return $q_result;
        }
    }

Controller User.php Controller 用户.php

public function index()
    {
        if(!in_array('viewUser', $this->permission)) {
            redirect('dashboard', 'refresh');
        }

        $user_data = $this->model_users->getUserData();

        $result = array();
        foreach ($user_data as $k => $v) {

            $result[$k]['user_info'] = $v;

            $group = $this->model_users->getUserGroup($v['id']);
            $result[$k]['user_group'] = $group;
        }

        $this->data['user_data'] = $result;

        $this->render_template('users/index', $this->data);
    }

Here you go给你 go

        $this->db->select("ug.*,g.*");
        $this->db->from("user_group ug");
        $this->db->join('groups g', 'ug.user_id = g.group_id');
        $this->db->where("ug.user_id",1);

        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            $result = $query->result();
        } else {
            $result = null;
        }
        return $result;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM