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

No Mostrar Tabla Vacia

Estas en el tema de No Mostrar Tabla Vacia en el foro de Zend en Foros del Web. Saludos gente del Foro. Sucede que tengo una pagina en zend framework en la cual me muestra por medio de una tabla lo que tengo ...
  #1 (permalink)  
Antiguo 25/10/2011, 13:10
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 2 meses
Puntos: 1
Información No Mostrar Tabla Vacia

Saludos gente del Foro.

Sucede que tengo una pagina en zend framework en la cual me muestra por medio de una tabla lo que tengo almacenado en una base de datos MySQL. hasta ahi todo marcha bien, pero sucede que cuando no tengo ningun registro almacenado en la base de datos, la tabla me muestra el encabezado, es decir los titulos de cada uno de los campos. lo que yo quiero es que esto no me aparezca, es decir que en caso de que la tabla en la base de datos se encuentre vacia, no me muestre nada en la pagina, ya hize el modelo, en el cual implemente una consulta que me llama la cantidad de registros, y por medio de un if que ya tengo hecho que me diga si el resultado de la consulta es igual a 0, pero al momento de llamar el valor COUNT(*) que es el que me muestra el resultado de la consulta, me da un error, y no se de que otra forma llamarlo.

el modelo que hize es este:

Código PHP:
Ver original
  1. public function encabezado()
  2.     {
  3.           $db = Zend_Registry::get('mydb');
  4.         $db->setFetchMode(Zend_Db::FETCH_OBJ);
  5.         $sql =$db->query('SELECT COUNT(*) FROM solicitudesmaterial');  
  6.         $resultado=$sql->fetchAll();
  7.         return $resultado;
  8.            
  9.     }

y el if que me valida es este:

Código PHP:
Ver original
  1. $tabla = new solicitudesmaterialModel();
  2.  
  3. foreach ($tabla->encabezado()as $rows){
  4.     $count = $rows->COUNT();
  5.  
  6.  if ($count == 0 ){
  7. echo "<div id='div_3' class='contenido' style='display: none;'>";
  8. //aqui va la tabla
  9. echo "</div>";
  10. } else {
  11. echo "<div id='div_3' class='contenido'>";
  12. //aqui va la tabla
  13. echo "</div>";
  14. }

Espero haber sido claro, y que me puedan colaborar.

Saludos.
  #2 (permalink)  
Antiguo 25/10/2011, 14:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: No Mostrar Tabla Vacia

Zend_Db_Adapter tiene un método llamado fetchOne que te permite regresar un valor unico de tu query:

Código PHP:
Ver original
  1. $nRows = $db->fetchOne('SELECT COUNT(*) FROM tutabla');

Así puedes obtener el número de filas antes del foreach() y en base a eso dibujar o no la tabla.

Saludos.
  #3 (permalink)  
Antiguo 26/10/2011, 14:45
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: No Mostrar Tabla Vacia

Sii Era por eso!
Pues lo hize con un fetchColumn de la siguiente manera:

Código PHP:
Ver original
  1. $db = Zend_Registry::get('mydb');
  2.             $db->setFetchMode(Zend_Db::FETCH_OBJ);
  3.             $sql =$db->query('SELECT COUNT(*) FROM solicitudesmaterial');  
  4.             $resultado=$sql->fetchColumn(0);
  5.             return $resultado;

Gracias por la colaboracion.

Saludos.

Etiquetas: framework, tabla, vacias
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 08:02.