我想使用codeigniter从db中检索值

时间:2012-11-17 08:50:01

标签: codeigniter codeigniter-2

  

在视图中出现错误,如 未定义变量categorylist ,可以吗?   请帮助我!!!!!!!

控制器

public function categorylist()
{
    $data['categorylist']=$this->userprocessmodel->categorylist();
    $this->load->view('user/home',$data);
}

模型

public function categorylist()
{
    $query=$this->db->get('category');
    echo $query->num_rows();
    if($query->num_rows()>0)
    {
        return $query->result();
    }
    else
    {
       return null;    
    } 
}

查看

<?php 
      if($categorylist)
      {
          foreach($categorylist as $categorylist)
          {
               $categorylist->categoryname;
          }
      }
  ?>     

3 个答案:

答案 0 :(得分:0)

您的观点应该是这样的

<?php 
  if(count($categorylist)>0)
  {
      foreach($categorylist as $categorylist)
      {
           $categorylist->categoryname;
      }
  }else{
     echo 'No category found';
  }

&GT;

此外,您不需要回显$ query-&gt; num_rows()

答案 1 :(得分:0)

在您的模型中,您必须更改:

return null;

使用:

return false;

如果为变量$ categorylist指定null,则该变量未初始化,并且您在视图中得到该错误,如果您反对为false,则使用布尔值false初始化该变量。

答案 2 :(得分:0)

只需在模型

中更改这些代码即可
public function categorylist()
{
$query=$this->db->get('category');
echo $query->num_rows();
if($query->num_rows()>0)
{
    return $query->result();
}
else
{
   return 0;    
} 
}

现在在控制器中,如果0,那么

public function categorylist()
{
$data['categorylist']=$this->userprocessmodel->categorylist();
if($data['categorylist']=='0')
{
   $datanone['categorylist']='None';
   $this->load->view('user/home',$datanone);
}
else{
 $this->load->view('user/home',$data);
}
}