Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/02/2003, 19:12
Avatar de temaqueja
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