2013-05-20 45 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”是没有意义的。 –