在codeigniter中使用user_id获取用户产品

时间:2017-11-15 09:31:54

标签: php codeigniter codeigniter-3

嘿伙计们我在codeigniter中创建了一个网站,而我正在尝试为另一个用户个人资料制作网页。在另一个用户的个人资料中,我想显示该用户上传的所有产品。我试着这样做,就像你拥有用户个人资料一样,但我使用会话user_id。

这就是我现在所拥有的:

控制器功能:

public function userdetails($user_id)
 {
  //load the model
  $this->load->model('User_model');


  $data['userdetail_list'] = $this->User_model->getdata($user_id);
  $data['products'] = $this->User_model->userproducts();
  $this->load->view('profiel_user',$data);

 }

模型中的功能:

public function userproducts($user_id)
{
    $this->db->where('user_id',$user_id);
    $query = $this->db->get('products');
    if($query->num_rows()>0)
    {
       return $query->result_array();
    }
    return array();
}

因此,当我在用户个人资料页面上时,我想要显示属于我点击的个人资料user_id的所有产品。

我还有这个功能来获取该个人资料页面的user_id:

function getdata($user_id){
  $this->db->select("*"); 
  $this->db->from('users');
  $this->db->where('user_id', $user_id);
  $query = $this->db->get();
  return $query->result();
 }

任何人都有我如何做到的型号代码? 感谢

数据库信息:

表1:产品:

product_id
product_naam
product_beschrijving
user_id
ophaal_plaats
product_foto
product_foto_thumb
date_created
date_updated
category_id

table 2 : users:

user_id
email
voornaam
achternaam
beschrijving
profiel_foto

2 个答案:

答案 0 :(得分:1)

您可以修改您的功能,如下所示

  public function aff_patient()
     {

         $patients = $this->patient_m->afficher_patients();

          $data_patient = array();

          foreach($patients->result() as $r) {

               $data_patient[] = array(


                    "id" => $r->id,
                    "patient" => $r->nom_pt." ".$r->prenom_pt

               );

           }

         echo json_encode(array("patients" =>$data_patient));
         exit();
     }

答案 1 :(得分:0)

创建一个类似这样的函数

public function product_other_user_id($user_id)
      {
          $this->db->where('user_id', $user_id);
          return $this->db->get('products')->result();
      }

然后在你的控制器中调用该函数后,你有user_id例如

$userProducts = product_other_user_id($user_id);

当您返回时,将用户及其产品组合在数组或关联数组中,无论您感觉何在。