0

Here is my code.

Controller function

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');
}

Model function

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

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

            return $data;
        }
}

View File

<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>

I am getting errors

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

I am using CI first time and have no idea what am I doing wrong. Please help.

1 Answer 1

2

You assigned the data returned from the model in the associative array with the key being rows. Ergo, in the views the name of the variable is $rows not $data.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.