2012-02-07 6 views
1

私は、db内のカスタムテーブルから作成された選択リストをdrupalで作成しようとしています。 テーブルは名前とID番号で構成されます。どちらもユニークです。Drupal形式のオプションを選択します。

これを使用して、dbからデータを収集し、2つの配列を作成しました。ここで

$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

+0

完全に働いた:)ありがとう、あなたは私のためにそのような頭痛を解決! – Beyerz

関連する問題