dskm94301 2017-09-20 03:44
浏览 67
已采纳

如何使用user_id从数据库中获取用户详细信息并显示它们

I'm making a website on the CodeIgniter framework so users can add products to the website. Now my question is: How do I use the user_id in the products table to get the user's details from the database and display them next to the product? So for example when I click on a product I want to have a link to the profile of the user who uploaded the product but I'm not sure how I can do that.

Database tables information:

table users:

user_id (primary_key)
email
voornaam
achternaam
beschrijving


table products:

product_id (primary_key)
product_naam
product_beschrijving
user_id
category_id

My function in model file:

public function get_product_details($product_id) {
    $this->db->select('products.*, users.*');
    $this->db->from('products');
    $this->db->join('users', 'users.user_id = products.user_id', 'left');
    $this->db->where('product_id', $product_id);
    $query = $this->db->get();
    $result = $query->row_array();
    if (!empty($result)) {
        return $result;
    } else {
        return array();
    }
}

展开全部

  • 写回答

1条回答 默认 最新

  • dongwei1855 2017-09-20 03:58
    关注

    Use join query based on user_id fetch details from 2 tables in database.

    Like this:

    Model:

    public function get_product_details($product_id)
    {
        $this->db->select('users.user_id,users.email,users.voornam,products.product_id,products.category_id,products.product_naam');
        $this->db->from('users');
        $this->db->join('products','products.user_id = users.user_id');
        $this->db->where('product_id', $product_id);
        $query = $this->db->get();
        if($query->num_rows()>0)
        {
           return $query->result_array();
        }
    }
    

    Controller:

    public function edit($product_id)
    {
        $data['products_list'] = $this->your_model->get_product_details($product_id);
        $this->load->view('your_view_filename',$data);
    }
    
    // data from $data['products_list'] in controller.
    

    View:

    <?php print_r($products_list); //for refference
        foreach($products_list as $row)
                        {
                        ?>
                        <tr>
                            <td><?php echo $row['email'];?></td>
                            <td><?php echo $row['voornam'];?></td>
                            <td><?php echo $row['product_naam'];?></td>
                                etc...
                         </tr>
       <?php } ?>
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥100 二维码被拦截如何处理
  • ¥15 怎么解决LogIn.vue中多出来的div
  • ¥15 优博讯dt50巴枪怎么提取镜像
  • ¥30 在CodBlock上用c++语言运行
  • ¥15 求C6748 IIC EEPROM程序固化烧写算法
  • ¥50 关于#php#的问题,请各位专家解答!
  • ¥15 python 3.8.0版本,安装官方库ibm_db遇到问题,提示找不到ibm_db模块。如何解决?
  • ¥15 TMUXHS4412如何防止静电,
  • ¥30 Metashape软件中如何将建模后的图像中的植被与庄稼点云删除
  • ¥20 机械振动学课后习题求解答
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部