0

我希望用数据库中的记录填充 drupal 表单 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 循环。

非常感谢任何帮助。

4

1 回答 1

0

当您说:"it returns Array"...是 Echo 的输出,还是到 drupal 页面的输出?

如果是后者,您需要从中调用此函数drupal_get_form才能正确呈现表单。所以在你的情况下,你需要一个带有'page callback' => 'drupal_get_form'and的菜单项'page arguments' => array('mytopfive')

让我知道这是否没有意义:)

于 2010-11-11T18:04:41.853 回答