CodeIgniter Forums
Result Set directly pass to dropdown - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forum-20.html)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forum-23.html)
+--- Thread: Result Set directly pass to dropdown (/thread-53134.html)



Result Set directly pass to dropdown - El Forum - 07-12-2012

[eluser]abhinavp[/eluser]
Hello There,

I need to know is there any way in Codeigniter in which we can pass database result set directly to form_dropdown function.

Please let me know, if there is any way to do this task.

Thanks


Result Set directly pass to dropdown - El Forum - 07-12-2012

[eluser]guzzilar[/eluser]
Code:
foreach($query->result() as $item):
     $data[$item->name] = $item->value;
endforeach;

form_dropdown('name' ,$data);

Try this. Big Grin


Result Set directly pass to dropdown - El Forum - 07-12-2012

[eluser]CroNiX[/eluser]
No there isn't. You'd have to do what guzzilar suggested, or create a helper to do it since this is a very common thing and you will probably use it many times.

Code:
function array_to_dropdown($raw_data, $key_field, $value_field)
{
  $data = array();
  foreach($raw_data as $raw)
  {
    $data[$raw[$key_field]] = $raw[$value_field];
  }
  return $data;
}

Usage:
Code:
$values = $this->db
  ->select('id, name, address, city, state_id')
  ->get('users')
  ->result_array();

$dropdown_values = array_to_dropdown($values, 'id', 'name');

echo form_dropdown('my_dropdown', $dropdown_values);