2017-01-19 10 views
-2

私はCodeigniterの初心者です。私はデータベーステーブルからいくつかのレコードをロードしようとしています。しかし、常に空の配列を返します。Codeiniterがクエリの空の配列を返します

マイコードは次のとおりです。

モデル - Hottopics_model

<?php 
class Hottopics_model extends CI_Model { 

    public function __construct() 
    { 
     $this->load->database(); 
    } 

    public function get_hotpost($slug = FALSE) 
    { 
     if ($slug === FALSE) 
     { 
      $query = $this->db->get('post'); 
      return $query->result_array(); 
     } 

     $query = $this->db->get_where('post', array('slug' => $slug)); 
     return $query->row_array(); 
    } 

} 
?> 

コントローラ - Hottopics

<?php 
class Hottopics extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('hottopics_model'); 
     $this->load->helper('url_helper'); 
    } 

    public function index() 
    { 
     $data['hotpost'] = $this->hottopics_model->get_hotpost(); 

     $this->load->view('hottopics/index', $data); 
    } 

} 
?> 

ビュー

<?php if(!empty($hotpost)){ ?> 

<div class="topics-carousel-wrapper"> 
    <span class="color2">Hot Topics</span> 
    <div class="topics-carousel"> 
     <?php foreach ($hotpost as $row): ?> 
      <div class="topic"><a href="single-post.html" title=""> 
       <?php echo $row->post_title; ?></a> 
      </div> 
     <?php endforeach; ?> 
    </div> 
</div><!-- Hot Topics --> 

<?php } ?> 

この問題を解決するために私を助けてください。ありがとう。

+1

「post」はあなたのテーブルの名前ですか? – Sparky

+0

PHP *の警告*? ;) –

+1

この '?>'コントローラとモデルを使う必要はありません – user4419336

答えて

0

ビュー内でこのコードを試してください。データが配列形式で渡されるため、$row->post_titleの代わりに$row['post_title']を使用してください。

<?php if(!empty($hotpost)){ ?> 

<div class="topics-carousel-wrapper"> 
    <span class="color2">Hot Topics</span> 
    <div class="topics-carousel"> 
     <?php foreach ($hotpost as $row): ?> 
      <div class="topic"><a href="single-post.html" title=""> 
       <?php echo $row['post_title']; ?></a> 
      </div> 
     <?php endforeach; ?> 
    </div> 
</div><!-- Hot Topics --> 

<?php } ?> 
+0

まだ同じ問題です。 –

関連する問題