2012-02-07 51 views
1

我正尝试在drupal中创建一个从我的数据库中的自定义表填充的选择列表。 该表由名称和ID号组成。他们都是独一无二的。表单中的Drupal选择选项

我用它从数据库收集数据并填充两个数组。

$query = "SELECT `id`, title` from {svm_mail_esp}"; 
$result = db_query($query); 
$i=0; 
while($row = db_fetch_array($result)) { 
$listName[$i] = $row['title']; 
$listID[$i] = $row['id']; 
$i++; 
} 

这里是$形式阵列我用:

$form['esp_refferer'] = array(
    '#type' => 'select', 
    '#title' => 'Service Provider', 
    '#required' => TRUE, 
    '#options' => $list, 
    '#cols' => 10, 
    '#default_value' => '- Choose -', //TODO: This needs to be fixed and the form cannot be processed while this is selected 
    '#multiple' => FALSE, 
); 

这是我的问题是进来的,我想要显示的名字,但是当表单提交我需要$节点 - > esp_refferer是id号而不是名字。

我该怎么做?

回答

3
while($row = db_fetch_array($result)) { 
    $list[$row['id']] = $row['title']; 
} 

您需要创建一个数组$ list,该数组的键将是ids和每个值将是相应的标题。

+0

因此,我的#options数组变量将保持为列表? 我现在要试一试。谢谢:) – Beyerz 2012-02-07 12:31:21

+0

工作完美:)谢谢,你为我解决了这样的头痛! – Beyerz 2012-02-07 13:44:27