Drupal Выберите опцию в форме - PullRequest
1 голос
/ 07 февраля 2012

Я пытаюсь создать список выбора в 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, который я использовал:

$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,
  );

Вот тут и возникает моя проблема, я хочу отобразить имя, но когда форма отправлена, мне нужно, чтобы $ node-> esp_refferer был номером идентификатора, а не именем.

Как мне это сделать?

1 Ответ

3 голосов
/ 07 февраля 2012
while($row = db_fetch_array($result)) {
   $list[$row['id']] = $row['title'];
}

Вам необходимо создать массив $ list, ключами этого массива будут идентификаторы, а значением каждого будет соответствующий заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...