2010-11-11 38 views
0

我正在用數據庫中的記錄填充drupals表單api字段。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循環。

任何幫助非常感謝。

回答

0

當你說:"it returns Array" ...是Echo的輸出還是輸出到drupal頁面?

如果它是後者,則需要從drupal_get_form調用該函數以使表單正確呈現。所以在你的情況下,你需要一個菜單​​項'page callback' => 'drupal_get_form''page arguments' => array('mytopfive')

讓我知道這是沒有意義的:)

+0

點上..我只是有腦屁昨日,比它是什麼..讓更多的它完全忘記用drupal_get_form(「FORM_NAME」) – GaxZE 2010-11-12 10:39:26