我试图从CodeIgniter中的db中获取数据,但是收到错误

时间:2012-09-24 02:25:55

标签: php codeigniter codeigniter-2

这是我的代码。

控制器功能

function index()
{
      $data['message'] = (validation_errors()) ? validation_errors() : $this->session->flashdata('message');

      $this->load->model('customers_model');
      $data['rows'] = $this->customers_model->getAll();

      $meta['page_title'] = 'Customers';
      $data['page_title'] = 'Customers';
      $this->load->view('../header', $meta);
      $this->load->view('content', $data);
      $this->load->view('../footer');
}

模型功能

public function getAll() 
{
        $q = $this->db->get('customers');

        if($q->num_rows() > 0) {
            foreach ($q->result() as $row) {
                $data[] = $row;
            }

            return $data;
        }
}

查看档案

<table cellpadding=0 cellspacing=10 width="100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Company</th>
            <th>Phone</th>
            <th>Email</th>
            <th>Address</th>
            <th>City</th>
            <th>Code</th>
            <th>State</th>
            <th>Country</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($data as $row):?>
            <tr>
                <td><?php echo $row->name; ?></td>
                <td><?php echo $row->company; ?></td>
                <td><?php echo $row->phone; ?></td>
                <td><?php echo $row->email; ?></td>
                <td><?php echo $row->address; ?></td>
                <td><?php echo $row->city; ?></td>
                <td><?php echo $row->postal_code; ?></td>
                <td><?php echo $row->state; ?></td>
                <td><?php echo $row->country; ?></td>
            </tr>
        <?php endforeach;?>
    </tbody>
</table>

我收到错误

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/content.php

A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/content.php

我第一次使用CI并且不知道我做错了什么。请帮忙。

1 个答案:

答案 0 :(得分:2)

您在关联数组中为模型返回的数据分配了密钥为rows的数据。因此,在视图中,变量的名称为$rows而不是$data