2014-05-04 26 views
1

我將試圖解釋這一儘可能明確:從依賴於一個id從視圖2頁不同的表視圖數據笨顯示

這裏是我的業餘愛好控制器功能,這需要所有我對數據發佈愛好帖子並在group_homepage視圖中顯示這些數據。

public function group_homepage($hobby_id){ 
    $this->load->model('model_posts'); 

    $data['posts'] = $this->model_posts->get_all_posts($hobby_id); 

    $this->load->view('group_homepage',$data); 

} 

現在的問題是,對於每一個我在視圖中顯示的帖子,我也想顯示用戶的個人資料圖片和名稱(在我的數據庫中的用戶表中找到),也關聯到所有的評論該特定帖子(在我的數據庫的COMMENT表中找到)。

我group_homepage看起來是這樣的:

<ul id='news_feed'> 
    <?php 
    foreach($posts as $post){ 
      echo "<li>"; 
      echo "<div class='left_post'>"; 
      echo "<a href='".base_url()."/index.php/login/open_profile/".$user_id."'>"; 
      echo"<img src='".base_url()."/uploads/".**USER'S PHOTO**."' alt='profile picture'>"; 
      echo "</a>"; 
      echo "</div>"; 

      echo "<div class='right_post'>"; 
      echo $post->message_text; 
      echo " <p class='post_details'>written by <span>"; 
      echo **USER'S NAME**; 
      echo "</span>, "; 
      $db = $post->timestamp; 
      $timestamp = strtotime($db); 
      echo date("d-m-Y, G:i", $timestamp); 
      **DISPLAY ALL POST'S COMMENTS** 
      echo "</p></div></li>"; 
    } 

?> 
</ul> 

你有任何想法如何,我可以根據每個職位檢索此信息,並與其他信息我已經有了關於後沿顯示呢?

模型的功能很簡單:

public function get_all_posts($hobby_id){ 
      $this->db->where('group_id',$hobby_id); 
      $query = $this->db->get('post'); 
      return $query->result(); 
     } 

我還要提到的是我的職位表有以下字段:POST_ID,USER_ID,時間戳,MESSAGE_TEXT,GROUP_ID和喜歡

+0

你需要加入,因爲我不是在代碼笨查詢生成器的專家,你需要檢查如何加入表格文檔和檢索不同tables.If你的數據張貼表結構我可以給你查詢加入表可以稍後轉換爲CI風格的表格 –

+0

嗨,Abnik!感謝您的及時回覆。我也知道如何加入表格以獲取我需要的數據。我的問題是,如何從視圖中的foreach循環中檢索$ post-> post_id,並將其發送到控制器函數,這些函數將分別根據$ post-> post_id或$ post-> user_id獲取我需要的數據。 – user2627778

回答

0

開始辦理之前本用戶指南codeigniter Active Record Class,在你的函數

public function get_all_posts($hobby_id){ 
    $this->db->where('group_id',$hobby_id); 
    $this->db->join('users', 'users.id = post.user_id'); //join with users table 
    $this->db->join('comments', 'comments.user_id = post.user_id'); //join with comments table 
    $query = $this->db->get('post'); 
    return $query->result(); 
} 

現在你將有所有的數據,包括用戶的個人資料和COMME nts,根據您的要求製作一個循環並顯示。例如,要打印的姓名和圖片視圖

echo $post->name; 
echo $post->picture; //you have to use image tag here to display user's picture. 
相關問題