2

Ok so i'm trying to display data within an array.

My View:

echo form_open(base_url() . 'membersController/searchMember/');
echo form_label('Member ID: ', 'memID', array('for' => 'memID'));
echo form_input(array('type' => 'text', 
                      'name' => 'memID', 
                      'id' => 'memID', 
                      'value' => set_value('memID')));
echo form_submit(array('type' => 'submit', 'value' => 'Search'), 'Search') . "<br />";
echo form_close();
if (empty($data)) {

} else {
//displaying the array
}

My Controller:

public function searchMember() {
    $memID = $this->input->post('memID');
    //Load membersModel
    $this->load->model('membersModel');
    //Access the getMemberData function to search for a member
    $data['memDetails'] = $this->membersModel->getMemberData($memID);

//The line below is just to test that the array is being filled

    echo $data[0]->memFname;

    if (empty($data)) {
        echo "Hi";
        $message = "Member not found!";
        echo $message;
    } else {
        //Load view
        $this->load->view('memberView', $data);
    }
}

My Model:

function getMemberData($memID) {
    //SQL Statement to get a Member from the database based on member ID
    $data = array();
    $this->db->select('*');
    $this->db->from('members');
    $this->db->where('memID', $memID);
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data['memberdata'] = $row;
        }
    }
    $query->free_result();
    //return the array to the controller
    return $data;
}

I keep getting these errors:

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 0

Filename: controllers/membersController.php

Line Number: 24

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/membersController.php

Line Number: 24

0

1 Answer 1

2

Do these changes

Model:

if ($query->num_rows() > 0) {
    foreach ($query->result() as $row) {
        $data[] = $row;
    }
}
$query->free_result();
//return the array to the controller
return $data;

Controller:

$data['data'] = $this->membersModel->getMemberData($memID);
Sign up to request clarification or add additional context in comments.

2 Comments

Ah thank you so much!, the only other thing i needed to do was change echo $data[0]->memFname; To: echo $data['data'][0]->memFname;
@BrendonRother Got the output?

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.