2017-09-20 10 views
1

ユーザーがWebサイトに製品を追加できるように、CodeIgniterフレームワークでWebサイトを作成しています。今私の質問は:製品のテーブルのuser_idを使用して、データベースからユーザーの詳細を取得し、製品の横に表示するにはどうすればいいですか? たとえば、製品をクリックしたときに、製品をアップロードしたユーザーのプロフィールへのリンクが必要ですが、どうすればいいのか分かりません。user_idを使用してデータベースからユーザーの詳細を取得して表示する方法

データベーステーブル情報:モデルファイル内

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機能:

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(); 
    } 
} 

答えて

4

使用して、データベース内の2つのテーブルから詳細をフェッチのuser_idに基づいてクエリに参加。このよう

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 } ?> 
+0

はちょっと私は私の答えを編集し、私はそれは私がそれをエコーするビューには何を入力します – lablanco

+0

なかった方法を示していますか? – lablanco

+0

私のコードを更新してください。 – karthikeyan

関連する問題