通过代码点火器中的array_push生成html选项标记


Generating html option tags by array_push in codeigniter

我使用codeigniter,并且我有一个表单,该表单使用option标签的此结构:

$options = array(
              'small'  => 'Small Shirt',
              'med'    => 'Medium Shirt',
              'large'   => 'Large Shirt',
              'xlarge' => 'Extra Large Shirt',
            );
echo form_dropdown('shirts', $options, 'large');

将产生:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

但我想从数据库中检索数据。我用这个:

$options = array();
foreach(...) {
  array_push($options, $menu_name_db[$i]);
}

将产生:

<select name="shirts">
<option value="0">Small Shirt</option>
<option value="1">Medium Shirt</option>
<option value="2" selected="selected">Large Shirt</option>
<option value="3">Extra Large Shirt</option>
</select>

但我想初始化数据库中的值,例如通过它们的id或cost。

我该怎么做?

这是在构建表时:

$options = array();
$menu_name_db = $this->db->get('yourtablemenu')->result();
foreach($menu_name_db as $m) 
{
  $options[$m->id] = $m->title; 
}
echo form_dropdown('shirts', $options, 'large');

数组的键将成为表的id。