Foros del Web » Programando para Internet » PHP »

Generación dinámica de tablas

Estas en el tema de Generación dinámica de tablas en el foro de PHP en Foros del Web. ¿Alguien sabe como generar dinámicamente el código HTML de una tabla en función de los requerimientos de los usuarios? Necesito que contemple colspan y rowspan. ...
  #1 (permalink)  
Antiguo 19/02/2003, 06:23
 
Fecha de Ingreso: febrero-2003
Mensajes: 11
Antigüedad: 21 años, 1 mes
Puntos: 0
Generación dinámica de tablas

¿Alguien sabe como generar dinámicamente el código HTML de una tabla en función de los requerimientos de los usuarios?
Necesito que contemple colspan y rowspan. Sólo necesito la generación de tablas, por lo que los editores HTML que existen son demasiado completos para lo que necesito.

Gracias.
  #2 (permalink)  
Antiguo 19/02/2003, 07:09
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
tu pregunta es demasiado general, por que no detallas un poco mas a que te refieres con: "requerimientos de los usuarios"?

¿sera un fromulario donde el usuario introduce los parametros de su nueva tabla html?
¿será visual como en dreamweaver o frontpag3?
¿estas hablando de php?

__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 19/02/2003, 09:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Podrias pedir fila a fila los valores de cada celda, incluido el colspan y rowspan. Una vez que tienes almacenado esos datos, solo tienes que ir generando <tr></tr> por cada fila y dentro de ellos <td></td> por cada celda, con sus valores. Por supuesto, esos valores se los pides por un formulario.

Espero haber sido de ayuda.

PD: otra opcion seria definir la tabla con un documento XML y luego mostrarlo con XSLT. Pero eso seria tema de otro foro.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 20/02/2003, 02:07
 
Fecha de Ingreso: febrero-2003
Mensajes: 11
Antigüedad: 21 años, 1 mes
Puntos: 0
Gracias por vuestro interés.

Os planteo la cuestión más detallada. No estoy seguro si sería más viable con Javascript.

Tengo un catálogo web de alojamientos de una agencia de viajes. Este catálogo tiene un área restringida de administracíón en la que se puede modificar cualquier valor de cualquier alojamiento.

El problema surge con las tablas de tarifas. Estas tablas tienen formatos diferentes en función del tipo de alojamiento. Desechado el tema de plantillas de tablas para las tarifas, me planteo un generador de tablas (tipo el que tiene el composer de Netscape pero mucho más sencillo) que sea fácil de usar para las personas que tengan acceso al área restringida y que no tienen ningún conocimiento de HTML. Una vez definidas las tablas, las guardo en un fichero de texto en formato HTML para incluirlas al visualizar los alojamientos.

Necesito que esta gestión de tablas se realice en la misma página sin recargarla cada vez que se cambie un valor y sin necesidad de introducir los valores de las celdas uno a uno. Mi idea es que cuando la celda siguiente o inferior no tenga valor, al guardar el HTML en el fichero de texto se refleje el colspan y el rowspan respectivamente.

¿Alguna idea?
  #5 (permalink)  
Antiguo 20/02/2003, 08:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Necesito que esta gestión de tablas se realice en la misma página sin recargarla cada vez que se cambie un valor y sin necesidad de introducir los valores de las celdas uno a uno. Mi idea es que cuando la celda siguiente o inferior no tenga valor, al guardar el HTML en el fichero de texto se refleje el colspan y el rowspan respectivamente.
Si el requisito es que NO se recargue la página . .deberas de hacerlo con Javascript.

Con PHP lo harias igualmente pero recargando la página .. pues PHP "pre-procesa" en el servidor y lo q generé (en tu caso ese HTML dinamico de esas tablas HTML) se envia al cliente (navegador).

Un saludo,
  #6 (permalink)  
Antiguo 21/02/2003, 19:12
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Cita:
Mensaje Original por Florez
Gracias por vuestro interés.

Os planteo la cuestión más detallada. No estoy seguro si sería más viable con Javascript.

Tengo un catálogo web de alojamientos de una agencia de viajes. Este catálogo tiene un área restringida de administracíón en la que se puede modificar cualquier valor de cualquier alojamiento.

El problema surge con las tablas de tarifas. Estas tablas tienen formatos diferentes en función del tipo de alojamiento. Desechado el tema de plantillas de tablas para las tarifas, me planteo un generador de tablas (tipo el que tiene el composer de Netscape pero mucho más sencillo) que sea fácil de usar para las personas que tengan acceso al área restringida y que no tienen ningún conocimiento de HTML. Una vez definidas las tablas, las guardo en un fichero de texto en formato HTML para incluirlas al visualizar los alojamientos.

Necesito que esta gestión de tablas se realice en la misma página sin recargarla cada vez que se cambie un valor y sin necesidad de introducir los valores de las celdas uno a uno. Mi idea es que cuando la celda siguiente o inferior no tenga valor, al guardar el HTML en el fichero de texto se refleje el colspan y el rowspan respectivamente.

¿Alguna idea?
a ver si te entiendo:

quieres que los administradores (empleados de la agencia de viajes llenen tablas de tarifas que sean guardadas por tu programa como un archivo html y que sea llamado para incluirlo en la página....

si es asi, lo primero que se me ocurre es que los usuarios hagan sus tablas en excel, las graben como formato delimitado por comas (creo que la extensión es archivo.csv), y hagan un upload de dicho archivo, tu programa tomaria ese archivo y lo procesaria generando l atabla html.

sabrías cuantas columnas tiene de acuerdo a cuantos datos lees en la primera fila y tantas harias filas como filas la hoja CSV. eso y que les instruyas que la primera fila sera para los titulos, la primera columna para tal cosa, aqui mas bien se plantea el problema de unir celdas.

archivo.csv (no pongo comillas para no hacerme bolas ).-
Código:
hoteles,nivel,swb,dwb,twb
san carlos,***,100,200,300
huascaran,*****,150,300,400
machupichu inn,***,200,220,240
checas que la primera fila tiene 5 datos ($columnas) y
checas que el archivo tiene 4 registros ($filas)
Código PHP:
<?php
// el archivo "archivo.csv" debe ser 
// subido al servidor previamente.

$fila 1;
$fp fopen ("archivo.csv","r");
$tabla "<table>";

while (
$datos fgetcsv ($fp1000",")) {
    
$columnas count ($datos);
    if(
$columnas>0){
      
$tabla.="<tr>"
      
print "$columnas columnas en la fila $fila: <br>\n";
      
$fila++;
      for (
$c=0$c $columnas$c++) {
         
$tabla.= "<td>".$datos[$c]."</td>"
      
}
      
$tabla.="</tr>"
    
}
}

$tabla.="</table>"
fclose ($fp);

$fp fopen("tabla.html"'w'))
fputs($fp,$tabla,strlen($tabla));
fclose ($fp);

?>
Espero que te sirva de algo... una última observación, para que puedas colocar archivos html desde php, el usuario de apache (a veces nobody) debe tener permisos de escritura sobre una carpeta que tambien es usada por el servidor para mostrar páginas web, esto puede suponer un serio agujero de seguridad, ten cuidado.

Ref.: http://www.php.net/manual/en/function.fgetcsv.php
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
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 04:28.