CODEIGNITER未定义索引

时间:2013-10-18 05:58:02

标签: php codeigniter

:d 这里遇到了一些问题

错误代码

遇到PHP错误

严重性:注意

消息:未定义的索引:说明

文件名:views / dashboard_view.php

行号:13

控制器:

 function index()
 {
   if($this->session->userdata('logged_in'))
   {
     $session_data = $this->session->userdata('logged_in');
     $data['username'] = $session_data['USERNAME'];
     $data['companyid'] = $session_data['COMPANYID'];
     $data['category']=$this->main_model->get_category();
     $this->load->view('dashboard_view', $data);


   }
   else
   {
     //If no session, redirect to login page
     redirect('main', 'refresh');
   }
 }

模型

 function get_category(){
$this->db->select('*');
$this->db->from('view_category');
$category=$this->db->get();
return $category->result();
}

视图

<h2>Welcome <?php echo $username; ?>!</h2>
<?= form_hidden ($companyid); ?>
<br>
<a href="login/logout">Logout</a>
<? foreach($category ):?>
<tr>

    <td><?= $category['DESCRIPTION']; ?></td><-- this is line 13
</tr>

<? endforeach;?>

3 个答案:

答案 0 :(得分:4)

请按以下步骤操作: -

  • 检查您的模型是否正确加载。在调用它之前手动加载它,或者你可以在config / autoload文件中自动加载你的模型。

  • 在循环浏览视图文件中的catogory之前,请尝试打印数组。我认为你的类别数组中没有名为description的索引。

  • 更改: -

    $category->result(); 
    

    要: -

    $category->result_array();
    
  • 另外: -

    <td><?= $category['DESCRIPTION']; ?></td>
    

    要: -

    <td><?php echo $category['DESCRIPTION']; ?></td>
    

希望它可以帮助你:)

答案 1 :(得分:1)

你应该是这样的:

<?php foreach($category as $rows): ?>
                      ^^^ add this

然后通过这个得到数据:

<td><?php echo $rows['DESCRIPTION']; ?></td>

您还可以检查返回的内容,以便在foreach循环中执行print_r($rows);

  

注意:避免使用PHP的sort标记,因为许多服务器不支持此。

答案 2 :(得分:1)

您是否尝试在使用之前加载模型?

示例:$this->load->model('main_model');