Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/07/2010, 14:49
Hidek1
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