Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2012, 15:46
jeremiselxi
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 15 años, 7 meses
Puntos: 22
Llenar un combobox con datos de la base de datos.

Buenas tardes amigos drupaleros.

Para motivo de aprendizaje quiero lograr hacer que un combobox se llene con la tabla views_view que se instala con drupal 7


para ello estoy creando un pequeño modulo llamado

redireccionar



cree el redireccionar.info

Código PHP:
Ver original
  1. name = Redireccionar
  2. description = "Modulo para Redireccionar de una vista a otra."
  3. package = Redireccionar de una vista a otra.
  4. core = 7.x
  5. files[] = redireccionar.module


y el archivo redireccionar.module

tiene lo siguiente

Código PHP:
<?php

/**
* @file
* Modulo para redireccionar de una vista a otra.
*/
/**
* Implementación del hook_menu()
*/

function redireccionar_menu () {
$items['Redireccionar/redireccionar-vistas'] = array (
'title' => 'Redireccionar una vista a otra'
'page callback' => 'drupal_get_form',
'page arguments' => array('redireccionar_vistas'),
'access callback' => TRUE,

);
return 
$items;

}


/**
* Callback que implementa la página: Redireccionar/redireccionar-vistas
*/



function redireccionar_vistas() { 


$options = array('ops1' => 'Vista1''ops2' => 'Vista2''ops3' => 'Vista3');

$form['combo1'] = array('#type' => 'select',
'#title' => t('Elige la vista'),
'#options' => $options);

return 
$form;
}

en este caso el combobox llamado combo1

como tiene la variable

Código PHP:
$options = array('ops1' => 'Vista1''ops2' => 'Vista2''ops3' => 'Vista3'); 
se llena de esos valores. Yo tengo esta parte que busca en la base de datos

Código MySQL:
Ver original
  1. $result = db_query("SELECT name FROM {views_view} ");
  2. while( $fila = $result->fetchAssoc() ) {
  3.         print $fila['name'];
  4.                 echo "<br>" ;
  5. }

pero no se como agregarle la informacion que trae el codigo que busca en la base de datos con el combo1.

yo encontre este codigo en internet pero no he podido aplicarlo

Código PHP:
//....
$form['nombre_profesores'] = array(
    
'#type' => 'select',
    
'#title' => t('Selected'),
    
'#options' => mimodulo_get_nombre_profesores(),
);

/**
* Get nombre de los profesores

* return
*   Gets nombre de los profesores
*/
function mimodulo_get_nombre_profesores() {
  
$result db_query("SELECT name FROM persona WHERE tipo_persona like 'profesor' ");
  while (
$reg db_fetch_object($result)) {
    
nombre_profesores[] = $reg->name;
  }
  return 
nombre_profesores;


Gracias anticipadas.