关于php:CODEIGNITER未定义索引

CODEIGNITER undefined index

:D
在这里遇到了一些问题

错误代码

遇到PHP错误

严重性:通知

消息:未定义索引:DESCRIPTION

文件名:views / dashboard_view.php

行号:13

控制器:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 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');
   }
 }

型号

1
2
3
4
5
6
 function get_category(){
$this->db->select('*');
$this->db->from('view_category');
$category=$this->db->get();
return $category->result();
}

视图

1
2
3
4
5
6
7
8
9
10
11
Welcome <?php echo $username; ?>!
<?= form_hidden ($companyid); ?>

Logout
<? foreach($category ):?>
<tr>

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

<? endforeach;?>


请按照以下步骤操作:-

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

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

  • 更改:-

    1
    $category->result();

    致:-

    1
    $category->result_array();
  • 也:-

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

    致:-

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

希望它对您有帮助:)


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

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


您的foreach应该是这样的:

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

然后通过以下方式获取数据:

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

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

Note: avoid to use the sort tag of PHP as many servers are not supporting to this.