I am new in codeIgniter and I having a bit of trouble with my database and dropdown menu.
Here is my function to get the information I need…
protected $tbl_name = 'club';
public function get($id = 0, $object = TRUE)
{
// select * from users where id = 0
// check if id is provided
if($id) {
// id provided - retrieve a specific user
$query = $this->db->get_where($this->tbl_name, array('id' => $id));
// check if object type is requested
if($object) {
// object is requested
$data = $query->row();
}
else {
// array is requested
$data = $query->row_array();
}
}
else {
// id not provided - retrieve all users
$query = $this->db->get($this->tbl_name);
// check if object type is requested
if($object) {
// object is requested
$data = $query->result();
}
else {
// array is requested
$data = $query->result_array();
}
}
return $data;
}
Here is where I call it in my controller
$data['clubname'] = $this->club_model->get();
and this is in my view for the dropdown
<tr><td><?php echo form_label('Club Name: ', 'clubname'); ?></td><td><?php echo form_dropdown('clubname', $clubname['name']); ?></td><td><?php echo form_error('clubname'); ?></td></tr>
but I get these errors
A PHP Error was encountered
Severity: Notice
Message: Undefined index: name
Filename: individual/individual_club.php
Line Number: 7
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: helpers/form_helper.php
Line Number: 331
What Am I doing wrong?
The problem lies in your
form_dropdown('clubname', $clubname['name'])call. The second parameter is wrong.form_dropdownexpects an array. See the documentaitonFrom your query’s results, you would need to build an array of clubs. Something along the lines of :
Replace
club_idandclub_namewith your table’s column names for the name and id of the clubs. After that, change yourform_dropdowntoform_dropdown('clubname', $clubname).Like this,
$clubnameis an array of clubs.Hope this helps!