【问题标题】:Drupal form option populate from loopDrupal 表单选项从循环中填充
【发布时间】:2012-01-19 10:27:53
【问题描述】:
我想从循环中填充选择选项
$form['vote']['selected'] = array(
'#type' => 'select',
'#title' => 'Select',
'#name' => 'name',
);
foreach($loop as $row)
$form['vote']['selected']['#options'] = array($row->id => $row->name);
}
return $form;
需要帮助吗?
【问题讨论】:
标签:
forms
drupal
drupal-7
drupal-forms
【解决方案1】:
这是执行此操作的标准方法:
$options = array();
foreach($loop as $row)
$options[$row->id] = $row->name;
}
$form['vote']['selected'] = array(
'#type' => 'select',
'#title' => 'Select',
'#name' => 'name',
'#options' => $options
);
您还可以查看数据库查询的 fetchAllKeyed 方法,这是一种方便的快捷方式,可以将数据库中的数据放入适合选择列表的键控数组中:
$options = db_query('SELECT id, name FROM {table}')->fetchAllKeyed();
上面将产生与上面的foreach 循环完全相同。