2010-11-11 2 views
0

Im, желающий заполнить drupals, формирует поля api с записями из базы данных.Drupal Form 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.

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

ответ

0

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

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

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

+0

пятно на .. я только вчера был пердеть мозга, делал больше, чем то, что он был .. совершенно забыл использовать drupal_get_form («FORM_NAME») – GaxZE