Drupal 7 Drupal 7-从表单API中的DB填充下拉选择
我对PHP还是新手,甚至对Drupal的FormAPI也是新手。我只是尝试从数据库中填充一个下拉选择。我认为这个问题源于我对如何使用多维数组缺乏深入的理解。我们衷心感谢您的帮助 我的代码当前为:Drupal 7 Drupal 7-从表单API中的DB填充下拉选择,drupal-7,form-api,Drupal 7,Form Api,我对PHP还是新手,甚至对Drupal的FormAPI也是新手。我只是尝试从数据库中填充一个下拉选择。我认为这个问题源于我对如何使用多维数组缺乏深入的理解。我们衷心感谢您的帮助 我的代码当前为: //Query DB for Rows $query = db_select('hp_education_years'); $query->fields('hp_education_years', array('id', 'years',)); $query->
//Query DB for Rows
$query = db_select('hp_education_years');
$query->fields('hp_education_years', array('id', 'years',));
$query->orderBy('years', 'ASC');
$results = $query->execute();
//define rows
$options = array();
foreach ($results as $result) {
$options[$result->id] = array(
$result->years,
);
}
$form['education']['year'] = array(
'#type' => 'select',
'#title' => t('Year'),
'#options' => $options,
'#states' => array(
'visible' => array(
':input[name="data_set"]' => array('value' => 'education'),
),
),
);
这将返回一个填充列表,但以粗体显示年份ID以及年份(例如2008年)
我怎样才能让下拉列表只显示年份,而不是以粗体显示年份ID,然后显示年份。看起来$option只是比我想要的高了一个级别?这有意义吗
非常感谢。试着换衣服吧
//define rows
$options = array();
foreach ($results as $result) {
$options[$result->id] = array(
$result->years,
);
}
到
如果查看中的示例,您将看到选项值应该只是字符串值,而不是数组
//define rows
$options = array();
foreach ($results as $result) {
$options[$result->id] = $result->years;
}