Este es el codigo que estoy utilizando
Código PHP:
<?php
/**
* @file
* Play with teh Form API
*/
/**
* Implementacion hook_menu().
*/
function formexample_menu(){
$items['formexample'] = array(
'title' => 'Accede al formulario',
'page callback' => 'drupal_get_form',
'page arguments' => array('formexample_nameform'),
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM
);
return $items;
};
/**
* Definir el formulario.
*/
function formexample_nameform(){
/**
* Función diseñada para obtener todos los cursos y los nid de los cursos
**/
function formexample_cursos() {
$result = db_query("SELECT title, nid FROM {node} where type = 'cursos'");
foreach ($result as $result) {
$i= $result->nid;
$nombre_cursos[$i] = $result->title;
}
return $nombre_cursos;
};
//Se define el fieldset(Contenedor) llamado Curso
$form['cursos'] = array(
'#title' => t('Elegie los estudiantes del Curso'),
'#type' => 'fieldset',
'#description' => t('Información sobre los Cursos'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
//Se define el combobox en el cual contiene todos los nodos tipo Cursos así como tambien los nid de dichos nodos.
$form['cursos_options'] = array(
'#type' => 'value',
'#value' => formexample_cursos(),
);
$form['cursos']['nombres_de_cursos'] = array(
'#title' => t('Busca el Curso'),
'#type' => 'select',
'#description' => t('Por favor selecciona un Curso'),
'#options' => $form['cursos_options']['#value'],
);
// Campo utilizado para proporcionar la busqueda
$form['cursos']['obtener_id_nodo'] = array(
'#title' => '',
'#type' => 'textfield',
'#default_value' => variable_get('obtener_id_nodo', '0'),
'#access' => false,
);
$form['cursos']['submit'] = array(
'#type' => 'submit',
'#value' => t('Buscar Alumnos '),
);
function prueba () {
drupal_set_message(t('Prueba')) ;
}
$form['Cambiar de cursos'] = array(
'#type' => 'submit',
'#value' => t('Cambiar de Cursos'),
'#submit' => array('prueba'),
);
$form['SegundaSeccion'] = array(
'#title' => t('Resultados de los estudiantes'),
'#type' => 'fieldset',
'#description' => t('Resultado de Estudiantes'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
//Campo utilizado para mostrar los resultados de la busqueda
$form['SegundaSeccion']['results'] = array(
'#type' => 'item',
'#title' => t('Resultados de su busqueda'),
'#markup' => busqueda_alumnos(), // Vea que usé markup en lugar de value.
);
return $form;
}
/**
* Validate the form.
*/
function formexample_nameform_validate(&$form, &$form_state){
$cursos_key = $form_state['values']['nombres_de_cursos'];
$cursos = $form_state['values']['cursos_options'][$cursos_key];
if (trim($form_state['values']['obtener_id_nodo']) == '') {
form_set_error('obtener_id_nodo', 'Error en la busqueda. Intentelo mas tarde.');
}
}
/**
* Handle post_validate form submission.
*/
function formexample_nameform_submit(&$form, &$form_state){
$cursos_key = $form_state['values']['nombres_de_cursos'];
$cursos = $form_state['values']['cursos_options'][$cursos_key];
variable_set('obtener_id_nodo', $cursos_key);
drupal_set_message(t('El curso es %cursos y el id es %idcurso y %jeremi',array('%cursos' => $cursos, '%idcurso' => $cursos_key, '%jeremi' => variable_get('obtener_id_nodo'))));
}
/**
*funcion que conecta base de datos externa y genera la listo o resultado
*/
function busqueda_alumnos()
{
$output='';
db_set_active('sinergias');
//se obtiene el id del nodo y se pasa a la variable $nid
$nid= variable_get('obtener_id_nodo');
$sql = "SELECT users.uid uid, users.name name, field_data_field_profile_mi_curso_actual_es.field_profile_mi_curso_actual_es_nid nid, node.title title
FROM node INNER JOIN (field_data_field_profile_mi_curso_actual_es INNER JOIN (profile INNER JOIN users ON profile.uid = users.uid) ON
field_data_field_profile_mi_curso_actual_es.entity_id = profile.pid) ON
node.nid = field_data_field_profile_mi_curso_actual_es.field_profile_mi_curso_actual_es_nid where nid = '$nid'";
$result = db_query($sql);
db_set_active('default');
$header = array('UID', 'NAME','NID', 'TITLE' );
$data = array();
foreach ($result as $row)
{
$data[] = array($row->uid, $row->name, $row->nid, $row->title);
}
$output = theme('table', array('header' => $header, 'rows' => $data ));
return $output;
}
lo que deseo es que en la parte del código donde muestro los resultados
Código PHP:
$header = array('UID', 'NAME','NID', 'TITLE' );
$data = array();
foreach ($result as $row)
{
$data[] = array($row->uid, $row->name, $row->nid, $row->title);
}
$output = theme('table', array('header' => $header, 'rows' => $data ));
return $output;
Saludos