Foros del Web » Programando para Internet » PHP »

crear tabla html en base a un query a base de datos

Estas en el tema de crear tabla html en base a un query a base de datos en el foro de PHP en Foros del Web. Hola, como puedo crear las celdas de una tabla segun los valores count(query) que me proporciene una consulta? En esta tabla quisiera que tuviera unmaximo ...
  #1 (permalink)  
Antiguo 06/07/2010, 14:46
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 1 mes
Puntos: 5
crear tabla html en base a un query a base de datos

Hola, como puedo crear las celdas de una tabla segun los valores count(query) que me proporciene una consulta?

En esta tabla quisiera que tuviera unmaximo de 3 columnas, N hileras, al menos se crea una celda, pero si fueran mas ?

Algo asi:
Código:
 ________ 
|________|

 ____ ___
|____|___|

 __ __ __
|__|__|__|

 ____ ___
|____|___|
|____|___|

 __ __ __
|__|__|__|
|__|__|

 __ __ __
|__|__|__|
|__|__|__|

 __ __ __
|__|__|__|
|__|__|__|
|__|
  #2 (permalink)  
Antiguo 06/07/2010, 14:49
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: crear tabla html en base a un query a base de datos

la otra ves estaba haciendo una class para eso.. aun no esta lista pero para que te des una idea


Código PHP:
Ver original
  1. <?php
  2. require_once 'Conexion.php';
  3. class DatabaseTables
  4. {
  5.     private $consulta;
  6.     private $matriz;
  7.     private $tabla;
  8.  
  9.     public function __construct($consulta)
  10.     {
  11.         if(is_string($consulta)) {
  12.             $this->consulta = $consulta;
  13.         }else {
  14.             Throw new Exception("El parametro debe ser una consulta SQL v&aacute;lida");
  15.         }
  16.         $this->verificarDatos();
  17.     }
  18.     private function verificarDatos()
  19.     {
  20.         $db = new Conexion();
  21.         $matriz = $db->query($this->consulta);
  22.         if(is_object($matriz)) {
  23.             $this->matriz = $matriz->fetchAll(PDO::FETCH_ASSOC);
  24.         }else {
  25.             Throw new Exception("La consulta presenta errores");
  26.         }
  27.     }
  28.     public function generateTable()
  29.     {
  30.         $contador = -1;
  31.         $enum = 1;
  32.         $this->tabla .= "<table>";
  33.         foreach($this->matriz as $fila => $celdas) {
  34.             $this->tabla .= $contador < 0 ? "<tr><td>#</td>" : "<tr><td>$enum</td>";
  35.             foreach($celdas as $columna => $celda) {
  36.                 if(++$contador < 1) {
  37.                     $ncols = array_keys($celdas);
  38.                     foreach($ncols as $ncol) $this->tabla .= "<th>$ncol</th>";
  39.                     $this->tabla .= "</tr><tr><td>$enum</td>";
  40.                 }
  41.                 $this->tabla .= "<td>$celda</td>";
  42.             }
  43.             $this->tabla .= "</tr>";
  44.             $enum++;
  45.         }
  46.         $this->tabla .= "</table>";
  47.         return $this->tabla;
  48.     }
  49. }
  50. ?>
  51. <style type="text/css">
  52. *{font-size:11px;font-family:fantasy;}
  53. tr th,td:first-child{background-image:url("../resources/images/gradient.gif");font-weight:bold;color:#555;text-shadow:1px 1px white;}
  54. td{color:#666;}
  55. td,th{padding:5px;empty-cells:show;border:1px solid #999;}
  56. table{border-collapse:collapse;}
  57. </style>
  58. <?php
  59. try {
  60.     $tabla = new DatabaseTables("SELECT * FROM db_editor");
  61.     echo $tabla->generateTable();
  62. }catch(Exception $e) {
  63.     echo " - Warning (" . $e->getCode() . ") [" . pathinfo($e->getFile(), PATHINFO_BASENAME) . "::" . $e->getLine() . "] " . $e->getMessage() . "<br />\n";
  64. }
  65. ?>
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 06/07/2010, 15:09
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: crear tabla html en base a un query a base de datos

ok lo veo, Gracias! estoy tratando de razonarlo como pero creo que lo que ando buscando siga estas opciones:
Código PHP:
if($columns==1) :
esto;  // tabla con un solo tr td/td/tr
else if($columns==|| $columns==4
esta otra opcion  // tabla con una o dos filas con  tr td/td td/td /tr
else
tercer caso// tabla con filas tr td/td td/td td/td /tr y que
endif; 
De hecho, no se si los if's sean necesarios, creo que para esto han de haber otras alternativas
  #4 (permalink)  
Antiguo 06/07/2010, 15:13
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: crear tabla html en base a un query a base de datos

bueno para no confundirte solo revisa lo siguiente.. ahi esta el como se hace lo que necesitas


Código PHP:
Ver original
  1. public function generateTable()
  2.     {
  3.         $contador = -1;
  4.         $enum = 1;
  5.         $this->tabla .= "<table>";
  6.         foreach($this->matriz as $fila => $celdas) {
  7.             $this->tabla .= $contador < 0 ? "<tr><td>#</td>" : "<tr><td>$enum</td>";
  8.             foreach($celdas as $columna => $celda) {
  9.                 if(++$contador < 1) {
  10.                     $ncols = array_keys($celdas);
  11.                     foreach($ncols as $ncol) $this->tabla .= "<th>$ncol</th>";
  12.                     $this->tabla .= "</tr><tr><td>$enum</td>";
  13.                 }
  14.                 $this->tabla .= "<td>$celda</td>";
  15.             }
  16.             $this->tabla .= "</tr>";
  17.             $enum++;
  18.         }
  19.         $this->tabla .= "</table>";
  20.         return $this->tabla;
  21.     }
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: html, query, tablas
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 13:04.