Drupal Form API - заполнять поля из базы данных - PullRequest
0 голосов
/ 11 ноября 2010

Я собираюсь заполнить поля API друпалов записями из базы данных.

с:

    function mytopfive() {

  $form['mytop_header'] = array(
    '#type' => 'markup',
    '#value' => t('<h2>Your favourite Jobs</h2>'),
  );


    $result = mysql_query('SELECT * FROM topfive WHERE uid = 1 ORDER BY order_value ASC');

  while ($node = db_fetch_object($result)) {
    $rid = $node->rid;
    $order = $node->order_value;
    $title= $node->title;
  $form['rid'][$node->rid] = array(
    '#type' => 'textfield',
    '#size' => 2,
    '#maxlength' => 1,
    '#default_value' => $rid,
  );

  $form['job_name'][$node->rid] = array(
    '#type' => 'textfield',
    '#title' => t('To'),
    '#size' => 40,
    '#maxlength' => 42,
    '#value' => $title,
  );
  $form['job_order'][$node->rid] = array(
    '#type' => 'textfield',
    '#size' => 2,
    '#maxlength' => 1,
    '#default_value' => $order,
  );

  }

  $form['submit'] = array('#type' => 'submit', '#value' => t('Submit'));



return $form;
}

возвращает массив.

Я чувствую, что ответом является цикл foreach.

любая помощь высоко ценится.

1 Ответ

0 голосов
/ 11 ноября 2010

Когда вы говорите: "it returns Array" ... это вывод из Echo или вывод на страницу drupal?

если это последнее, вам нужно вызывать эту функцию из drupal_get_form для правильного отображения формы.так что в вашем случае вам нужен пункт меню с 'page callback' => 'drupal_get_form' и 'page arguments' => array('mytopfive').

Дайте мне знать, если это не имеет смысла:)

...