Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Visualizar una consulta del controlador a la vista

Estas en el tema de Visualizar una consulta del controlador a la vista en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Llevo 1 semana aprendiendo esto del Zend, gracias al foro he aprendido muchisimo, pero ahora mismo estoy bloqueada con una consulta. Normalmente hago las consultas ...
  #1 (permalink)  
Antiguo 31/03/2011, 08:30
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Visualizar una consulta del controlador a la vista

Llevo 1 semana aprendiendo esto del Zend, gracias al foro he aprendido muchisimo, pero ahora mismo estoy bloqueada con una consulta.

Normalmente hago las consultas tabla a tabla, pero ahora necesito hacerlas de otra forma:

En el controlador tengo esto:
Código PHP:
    public function vertablaAction(){
        
    
$db Zend_Db_Table_Abstract::getDefaultAdapter();
    
$stmt $db->query('SELECT * FROM CATEGORIA');

    
$rows $stmt->fetchAll();
        
    
$this->view->result $rows;

Tal como pone en la guia seria asi: $rows[0]['id_categoria']; y en al vista tengo:
Código PHP:
<table border="1"> <?php $cont 0;
    foreach (
$this->result as $res) : ?>
<tr>
    <td><?php echo $cont?></td>
    <td><?php echo $this->escape($res[$cont]['ID_CATEGORIA']); ?></td>
</tr>
    <?php $cont $cont 1;
    endforeach; 
?>
</table>
El caso es que en la vista aparece la tabla, pero los campos estan vacios, aunque si que devuelve la misma cantidad de rows que las que tiene la tabla (si tiene 7 registros, hay 7 filas en la tabla).

Como sea un ";" o algo de eso me muero XD
  #2 (permalink)  
Antiguo 31/03/2011, 08:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Visualizar una consulta del controlador a la vista

Con el constructor foreach() ya tienes en cada ciclo los resultados por lo que solo es necesario imprimir el campo que quieras:
Código PHP:
Ver original
  1. foreach ($this->result as $data ) {
  2.        echo $data['ID_CATEGORIA'];
  3. }

Saludos.
  #3 (permalink)  
Antiguo 31/03/2011, 09:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: Visualizar una consulta del controlador a la vista

Cierto! muchisimas gracias ya se ven los datos!!!
  #4 (permalink)  
Antiguo 31/03/2011, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Visualizar una consulta del controlador a la vista

Solo como tip, deberías de realmente estudiar lo que es el modelo MVC, ya que lo que tu estas haciendo rompe con eso, todas las consultas a la base de datos deberian de estar en el modelo no directo en el controlador.

Saludos.
  #5 (permalink)  
Antiguo 31/03/2011, 09:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Visualizar una consulta del controlador a la vista

Mal rayo parta los tutoriales que te muestran como hacerlo directamente en el controlador Ahora tengo que modificar nuevamente la aplicación para dividir responsabilidad
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 31/03/2011 a las 12:31 Razón: corrigiendo ortografía
  #6 (permalink)  
Antiguo 31/03/2011, 09:48
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: Visualizar una consulta del controlador a la vista

Cita:
Iniciado por abimaelrc Ver Mensaje
Mal rayo parta los tutoriales que te muestran como hacerlo directamente en el controlador Ahora tengo que modiciar nuevamente la aplicación para dividir responsabilidad
Quién te manda no preguntar! xD xD xD jejeje
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #7 (permalink)  
Antiguo 01/04/2011, 07:17
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Visualizar una consulta del controlador a la vista

Cita:
Iniciado por abimaelrc Ver Mensaje
Mal rayo parta los tutoriales que te muestran como hacerlo directamente en el controlador Ahora tengo que modificar nuevamente la aplicación para dividir responsabilidad
Lamentablemente gran parte del material que hay en la web, es malo, no respeta el MVC, ni sigue las practicas de Zend y bueno si esta en español ni lo miro, no hay pensar que algo es correcto por estar en algún blog o foro, hay que analizar y ser críticos, yo lo que sugiero es que vayan a las fuentes directamente, Matthew Weier O'Phinney(Zend), F. Potencier(Symfony), J. H Wage(Doctrine), leer mucho sobre patrones y cuando te parezca que lo entendiste leerlo de nuevo y tratar de llevarlo a la practica, la referencia obvia en este campo M. Fowler , yo duermo con el POEAA abajo de la cabeza a ver si por ósmosis me queda algo :).
Aplaudo tu actitud, hay gente que lo deja como esta en vez de invertir el tiempo en aprender a hacer las cosas mejor, en la refactorización se aprende mucho.

@Saneko perdon por el offtopic

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 01/04/2011 a las 08:40
  #8 (permalink)  
Antiguo 01/04/2011, 08:32
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: Visualizar una consulta del controlador a la vista

Totalmente de acuerdo con @masterpuppet

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: controlador, vistas
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 16:03.