2010-11-11 18 views
0

Im qui cherchent à remplir drupals champs de formulaire api avec les enregistrements de la base de données.Drupal API Form - remplir les champs de la base de données

avec:

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; 
} 

il retourne un tableau.

Je me sens la réponse est une boucle foreach.

toute aide très appréciée.

Répondre

0

Quand vous dites: "it returns Array" ... est que la sortie d'un écho, ou la sortie à la page drupal?

si sa ce dernier, vous devez être appeler cette fonction de drupal_get_form afin d'avoir la forme correctement rendue. Donc, dans votre cas, vous avez besoin d'un élément de menu avec 'page callback' => 'drupal_get_form' et 'page arguments' => array('mytopfive').

Laissez-moi savoir si cela n'a pas de sens :)

+0

spot sur .. Je viens d'avoir un cerveau péter hier, faisait plus de lui que ce qu'il était .. totalement oublié d'utiliser drupal_get_form (« form_name ») – GaxZE