Foros del Web » Programando para Internet » PHP »

Como cargar una grilla

Estas en el tema de Como cargar una grilla en el foro de PHP en Foros del Web. Hola Quería preguntar si con php5 para cargar una grilla de datos en una pagina se tiene que segir haciendo como como en php anterior ...
  #1 (permalink)  
Antiguo 15/07/2010, 07:34
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años
Puntos: 19
Como cargar una grilla

Hola

Quería preguntar si con php5 para cargar una grilla de datos en una pagina se tiene que segir haciendo como como en php anterior o asp 3.0 que por ejemplo usamos una tabla y dentro de ella entre los tr metemos un ciclo while para repetir las filas, algo como:

<tabla id="precio">

<?php

.....
.....
while($row=mysql_fetch_assoc($result)){
?>

<tr><td>Precio: <?=$row["precio"] ?></td>
<td>Detalle: <?=$row["deta"] ?></td>
<td>Stock: <?=$row["stock"] ?></td>
</tr>

<?php
}
?>


Pues siempre antes lo hacía así, queria preguntarles si ahora se puede hacer de otra manera mejor para no tener que hacer esto y si hay algo como en asp.net que podamos setar alguna datasource de una grilla o algo similar

gracias
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #2 (permalink)  
Antiguo 15/07/2010, 07:49
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 8 meses
Puntos: 10
Respuesta: Como cargar una grilla

No estoy enterado de que haya ninguna mejora en el lenguaje para permitir eso directamente..
Pero muchos frameworks de hoy en día, como el Zend Framework, CodeIgniter, Yii o CakePHP tienen clases prediseñadas para cargar datos en Grids.
__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!
  #3 (permalink)  
Antiguo 15/07/2010, 07:54
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Como cargar una grilla

puedes buscar alguna classe.. te dejo la que hice yo por si te sirve de algo

Código PHP:
Ver original
  1. <?php
  2. require_once 'Conexion.php';
  3. class DatabaseTable
  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. }


y el uso

Código PHP:
Ver original
  1. <?php
  2. try {
  3.     $tabla = new DatabaseTable("SELECT * FROM db_editor");
  4.     echo $tabla->generateTable();
  5. }catch(Exception $e) {
  6.     echo " - Warning (" . $e->getCode() . ") [" . pathinfo($e->getFile(), PATHINFO_BASENAME) . "::" . $e->getLine() . "] " . $e->getMessage() . "<br />\n";
  7. }
  8. ?>
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 15/07/2010, 07:54
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años
Puntos: 19
Respuesta: Como cargar una grilla

Cita:
Iniciado por santhy Ver Mensaje
No estoy enterado de que haya ninguna mejora en el lenguaje para permitir eso directamente..
Pero muchos frameworks de hoy en día, como el Zend Framework, CodeIgniter, Yii o CakePHP tienen clases prediseñadas para cargar datos en Grids.
Hola gracias por responder

Tendrás idea cual de todos los frameworks disponibles es el más usado?

gracias
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #5 (permalink)  
Antiguo 15/07/2010, 08:14
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años
Puntos: 19
Respuesta: Como cargar una grilla

Cita:
Iniciado por hidek1 Ver Mensaje
puedes buscar alguna classe.. Te dejo la que hice yo por si te sirve de algo

Código php:
Ver original
  1. <?php
  2. require_once 'conexion.php';
  3. class databasetable
  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. }


y el uso

Código php:
Ver original
  1. <?php
  2. try {
  3.     $tabla = new databasetable("select * from db_editor");
  4.     echo $tabla->generatetable();
  5. }catch(exception $e) {
  6.     echo " - warning (" . $e->getcode() . ") [" . Pathinfo($e->getfile(), pathinfo_basename) . "::" . $e->getline() . "] " . $e->getmessage() . "<br />\n";
  7. }
  8. ?>

gracias esta muy bueno!!!
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!

Etiquetas: grilla
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 14:12.