Foros del Web » Programando para Internet » PHP » Zend »

retornar consulta en un form_select (zend framework))

Estas en el tema de retornar consulta en un form_select (zend framework)) en el foro de Zend en Foros del Web. Buenas, tengo una duda , como hago para retornar una consulta en un zend_form_element_select ?????????????????'...
  #1 (permalink)  
Antiguo 31/08/2010, 20:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
retornar consulta en un form_select (zend framework))

Buenas, tengo una duda , como hago para retornar una consulta en un zend_form_element_select ?????????????????'
  #2 (permalink)  
Antiguo 31/08/2010, 22:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: retornar consulta en un form_select (zend framework))

El elemento Zend_Form_Element_Select solo acepta arrays, por lo que no le puedes poner una consulta, tienes que primero descargar los datos y posteriormente pasarlos a tu element usando setMultiOptions.

Saludos.
  #3 (permalink)  
Antiguo 01/09/2010, 00:42
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Eso quiere decir que es lo mismo como cuando uno retorna un arreglo de valores a un form?????
pero en vez de eso se retorna a un multioptions???????
  #4 (permalink)  
Antiguo 01/09/2010, 08:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: retornar consulta en un form_select (zend framework))

Lo que haces es al crear tu elemento obtienes los valores por ejemplo:
Código PHP:
Ver original
  1. $options = $someDAO->getOptions(); // Aqui haces tu consulta etc.
  2. $select = new Zend_Form_Element_Select('foo');
  3. $select->setMultiOptions($options);

Saludos.
  #5 (permalink)  
Antiguo 16/09/2010, 14:53
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

me podrias explicar un poco mas eso, ya que no lo he entendido bien y ademas he buscado mas informacion en internet y es casi imposible encontrar algo sobre eso, te agradezco mucho tu ayuda
  #6 (permalink)  
Antiguo 16/09/2010, 15:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: retornar consulta en un form_select (zend framework))

Pues simplemente es obtener tu array desde tu base de datos y pasarla al elemento, por ejemplo:
Código PHP:
Ver original
  1. $select = $db->select();
  2. $select->from('tabla', array('id', 'nombre'));
  3. $values = $db->fetchPairs($select);
  4.  
  5. $formSelect = new Zend_Form_Element_Select('nombres');
  6. $formSelect->setMultiOptions($values);

Saludos.
  #7 (permalink)  
Antiguo 16/09/2010, 16:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Esque eso he estado haciendo y solo me retorna un valor, no se por que???????????
  #8 (permalink)  
Antiguo 16/09/2010, 17:42
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Respuesta: retornar consulta en un form_select (zend framework))

Cita:
Iniciado por judatosa8327 Ver Mensaje
Esque eso he estado haciendo y solo me retorna un valor, no se por que???????????
El Id del arreglo debe ser unico si no el Elemento lo reduciira
Ejemplo si le paso este arrglo
Código PHP:
Ver original
  1. 1, valor1
  2. 1, valor2
  3. 1, valor3
  4. )
Solo me mostrara
Código PHP:
Ver original
  1. array(1, valor3)
Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #9 (permalink)  
Antiguo 17/09/2010, 01:55
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Eso ya me esta funcionando, se los agradezco mucho, ahora tengo dos problemas , el primero es que el elemento Select me esta mostrando lo retornado de la siguiente manera:

0
pregrado
1
tecnico
2
tecnologia

No me esta mostrando solo los nombres
y el segundo es que al momento de almacenar la informacion, no me almacena el dato que yo escojo sino, que guarda el nombre de la tabla en donde almaceno la lista de nombres o estudios.

No se cual es el problema, les agradeceria que me pudieran ayudar, aqui dejo mi codigo, muchas gracias.






$options = array(Zend_Db::AUTO_QUOTE_IDENTIFIERS => false);
$params = array('host'=> '127.0.0.1','username'=>'root','password' => '','dbname'=>'calidad','options'=> $options);
$db = Zend_Db::factory('Pdo_Mysql',$params);
$sql = "select clas_tipo from clase_estudios";
$statement = new Zend_Db_Statement_Pdo($db,$sql);
$statement->execute();
$valores = $statement->fetchAll();

$tipo = new Zend_Form_Element_Select('tipo');
$tipo->setLabel('Tipo de Estudio *')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->setMultiOptions($valores)
->addValidator('NotEmpty');
  #10 (permalink)  
Antiguo 17/09/2010, 01:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Con respecto al segundo problema , me refiero a que no me guarda la informacion que yo escojo, sino que guarda el nombre de la tabla de donde yo saco la informacion para mostrar en el objeto tipo Select , en este caso en ves de mostrarme la infomacion, me muestra el nombre de clas_tipo que se encuentra en el codigo que les acabe de pasar, muchas gracias por su ayuda
  #11 (permalink)  
Antiguo 17/09/2010, 08:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: retornar consulta en un form_select (zend framework))

El primer problema es que el elemento Zend_Form_Element_Select forzosamente necesita un array de este tipo:
Código:
array(
     0 => valor,
     1 => valor,
     2 => valor
)
Cuando tu usas fetchAll te regresa un array de arrays, lo que hace que te pase eso, por eso te indique más arriba que necesitabas usar fetchPairs, ese ya te regresa un array con indice/valor.

El segundo problema es por eso, ya que no estas retornando bien tus indices en tu array, por eso te guarda el nombre de la tabla ya que la fuente de datos esta incorrecta.

Saludos.
  #12 (permalink)  
Antiguo 17/09/2010, 09:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Tambien ensaye con tu ejemplo, pero con fetchPairs no hubo retorno de datos
  #13 (permalink)  
Antiguo 17/09/2010, 09:46
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: retornar consulta en un form_select (zend framework))

Les agradezco su ayuda, ahora si funciono, muchas gracias

Etiquetas: framework, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:17.