I have two elements in my form: a select and a table element. Everytime onchange event is triggered on select element, I want to update the values in my table. I want to do query and change the values of '#rows' in the table.
function myid_print_user_page_form($form, &$form_state)
{
$form = array();
$form['myid_print']['option'] = array(
'#type' => 'select',
'#options' => array(
0 => t('All'),
1 => t("Printed ID's"),
2 => t("Unprinted ID's"),
),
'#default_value' => 0,
'#ajax' => array(
'callback' => 'myid_print_all_submitted_id_callback',
'wrapper' => 'myid_table_wrapper',
),
);
// Build the sortable table header.
$header = array(
'id_number' => array('data' => t('ID Number'), 'field' => 'id_number','sort' => 'asc'),
'student' => array('data' => t('Student'), 'field' => 'student', 'sort' => 'asc')
);
//Get the node data.
$query = db_select('student', 't1',array('target' => 'import'));
$result = $query
->fields('t1', array('studid','lastname', 'firstname', 'middlename', 'extname'))
->condition('t1.id_status',1,'=')
->distinct()
->execute();
//Build the rows.
$rows = array();
foreach($result as $record){
$rows[$record->studid] = array(
'id_number' => $record->studid,
'student' => $record->firstname . ' ' . $record->middlename . ' ' . $record->lastname . ' ' . $record->extname,
);
}
//Build the table
$form['table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#prefix' => '<div id="myid_table_wrapper">',
'#suffix' => '</div>',
);
return $form;
}
I'm stuck here, I don't know what to put in my callback function.
function myid_print_all_submitted_id_callback($form, $form_state)
{
//Do query here and put the query results in the table.
}
Any help would be very much appreciated.