2013-05-20 46 views
0

新到這裏PHP的:)變量似乎未初始化的,但它是顯示存在

所以,問題是,我想從表中寫入數據,查看網頁,但它顯示警告,變量未初始化.. 。 (見表新聞有列類型和日期) 控制器功能:

function ShowNews(){ 
    $data = array(); 
    $this->load->model('user'); 
    $q = $this->user->getNews(); 
    if($q){ 
     $data['v'] = $q; 
    } 
    return $data; 
} 

在型號功能getNews

function getNews(){ 
    $q = $this->db->get('News'); 
    if($q->num_rows() > 0){ 
     return $q->result(); 
    } 
} 

並鑑於

 <?php if(isset($v)) : foreach($v as $row) : ?> 
     <li><?php echo $row->Type; ?> 
      <?php echo $row->Date; ?></li> 
     <?php endforeach; ?> 
     <?php else :?> 
      <li>No new News</li> 
     <?php endif;?> 

但它總是顯示沒有新的消息和變量v是未初始化的,所以我推測,在某種程度上需要初始化v對於它的工作......而且當我把$它表明,它存在嗎?

回答

0

我不知道你的$v是什麼,但你可以改變issetempty檢查:

<?php if(!empty($v)) : foreach($v as $row) : ?> 

有關更重要的是信息的空變量檢查empty function manual page

+0

$ v是這個$ data ['v'] = $ q;它應該是一個單一的變量,所以我可以從視圖訪問..嘗試空,但得到相同的結果 – DarkTemplar

+0

你的'$ q'必須是一個可迭代的對象。否則,你的「foreach」是沒有意義的。 –