2015-10-16 71 views
-2

我有三個表格(問題,答案,用戶),我想查詢用戶發佈的所有問題和答案。如何在CodeIgniter中使用三個連接從兩個表中獲取所有記錄?

這裏是我的代碼:

$query = $this->db->select('user.*,questions.*,answers.*') 
    ->from('user') 
    ->join('questions','questions.user_id = user.u_id','LEFT') 
    ->join('answers','answers.user_id = user.u_id','LEFT') 
    ->where('user.u_id',$profile[0]['u_id']) 
    ->group_by('user.u_id') 
    ->get(); 
echo $query->num_rows(); 

我有1點貼出的問題,在我的表1分的答案,但是當我嘗試這種代碼它給我的只有1行。

回答

0

與方法試試這個..

寫在一行查詢這樣 $query= "select * from user where" ;以及(這僅僅是查詢例如,你必須寫查詢)

然後

if ($result = mysqli_query($connection, $query)) { 
      /* fetch associative array */ 
      while ($res = mysqli_fetch_assoc($result)) { 
       print_r($res); 
      } 

      mysqli_free_result($result); 
     } 

在這種情況下$連接是你的數據庫連接

+0

因爲1個小時我努力,但它不工作,你可以解決這個問題..? –

+0

你有沒有試過我的答案 – 2015-10-16 17:40:26

0

你試過外連接,而不是左連接? 也許即使是左外連接,解決了你的問題,只是嘗試它。

哦,而不是'num_rows()'我想你只是想用'row()'到 檢索所有表的數據。

$this->db->select('user.*,questions.*,answers.*'); 
$this->db->join('questions','questions.user_id = user.u_id','OUTER LEFT'); 
$this->db->join('answers','answers.user_id = user.u_id','OUTER LEFT'); 
$this->db->where('user.u_id',$profile[0]['u_id']); 
$this->db->group_by('user.u_id') 
$query = $this->db->get('user')->row(); 

echo $query; 

從來就變了一下你寫,只要複製和測試,如果you'd想

相關問題