2014-07-03 133 views
0

我正在使用CodeIgniter。 我需要從數據庫中獲得一些foreach循環的數據。 我有4個項目在數據庫中,但循環只檢索其中兩個(具有ID 2和4的項目)。 這是代碼用於在控制器中的foreach:Foreach循環只顯示幾個項目

$this->load->model('home_model'); 

     $data['query']=$this->home_model->get_films($limit); 

     if ($data['query']) { 
     $data['main_content'] = 'home'; 
     $data['film'] = array(); 
     foreach($data['query'] as $film_info) { 
     $data['film'] = array(
      'id' => $film_info->id, 
      'poster_src' => $film_info->film_poster_src, 
      'title' => $film_info->film_name, 
      'year' => $film_info->film_year, 
      'genre_id' => $film_info->genre_id, 
     ); 

     $this->db->select('*'); 
     $this->db->from('genres'); 
     $this->db->where('id', $film_info->genre_id); 
     $query1 = $this->db->get(); 
     $genre_info = $query1->row(); 
     $data['genre_name'] = $genre_info->genre_name; 

     $this->db->select('*'); 
     $this->db->from('votes'); 
     $this->db->where('film_id', $film_info->id); 
     $this->db->where('vote', '1'); 
     $query2 = $this->db->get(); 
     $data['votes_count'] = $query2->num_rows(); 
     } 
     $this->load->view('template', $data); 

這是該模型中的代碼:

<?php 

class Home_model extends CI_Model 
{ 
    function get_films($limit) 
    { 
     $query = $this->db->get('films', $limit, $this->uri->segment(2)); 
     return $query->result(); 
    } 
} 

而且這是在視圖中的代碼:

<div class="col-sm-6 col-md-4"> 
    <div class="thumbnail"> 
     <img src="<?php echo $film['poster_src'] ?>" alt="Film poster"> 
     <div class="caption"> 
     <h3><?php echo $film['title'] ?></h3> 
     <p>Year: <?php echo $film['year'] ?></p> 
     <p>Genre: <?php echo $genre_name ?></p> 
     <p>Votes: <?php echo $votes_count ?></p> 
     <p><a href="#" class="btn btn-primary" role="button">Watch</a> <a href="#" class="btn btn-default" role="button">Add to bookmarks</a></p> 
     </div> 
    </div> 
    </div> 

如果我把foreach代碼放在視圖中,它可以正常工作。

+0

你是否已經在$ data ['query']'上做了'var_dump/print_r'來查看它是否有4個元素? –

+0

是的,它顯示了4項的陣列。 – aptscript

+0

那麼你的問題是什麼?在視圖中? –

回答

0

我不是100%肯定,所以不要投,如果只是假讓我知道,我會嘗試另一種方式,如果possible.in foreach循環嘗試將數據放在另一個數組這樣

$new_array[] = $the_result_value_you want 

然後你將能夠在循環外部使用$ new_array