Ver Mensaje Individual
  #210 (permalink)  
Antiguo 05/04/2005, 16:10
Avatar de programeitor
programeitor
 
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 12 años, 11 meses
Puntos: 9
212. Como crear una base de datos HTML

PREGUNTA:Como crear una base de datos HTML.(solo lectura)


RESPUESTA:

MODIFICACION Y MEJORA

Despues de darle muchas vueltas y quitar codigo innesesario para una mejor comprension he conseguido simplificar la cuestion, añadiendo un pequeño script a la pagina principal que hace que las paginas de datos tengan exactamente el mismo y mas pequeño script(sin nesesidad de cambiar nombres). ,he quitado etiquetas innesesarias en las paginas de datos ,resumiendose todo a un div y un script. He borrado el codigo anterior por darme error de esceso de caracteres al enviar el post, ademas de ya no ser nesesario. Otra cosa de interes es que la pagina se carga mucho antes ,cuestion esta a la que no encuentro explicacion.
Esta utilidad vale igualmente para recoger valores de variables, campos de texto ,etc.... solo asignandoles el valor de 'datos'.

SCRIPT DE LA PAGINA PRINCIPAL:
la funcion 'carga' carga en el iframe las paginas de datos definidas en el arreglo 'fr'.
la funcion 'lee' es llamada desde cada pagina de datos ,las cuales mandan el contenido de sus 'divs' a el 'div' correspondiente de la pagina principal.

<script>
fr=new Array('div1','div2',........,'divn')
cf=0
ruta=''// ruta a los archivos de datos

function carga(){
if(cf<fr.length){window.frames[0].location.href=ruta+fr[cf]+'.html';cf++;}
}
function lee(datos){document.getElementById(fr[cf-1]).innerHTML=datos;}
</script>

BODY DE LA PAGINA PRINCIPAL:
La colocacion de los 'divs' es meramente explicativa, tanto el diseño como los estilos no corrresponden a esta faq. Lo que si es extrictamente nesesario es la colocacion del iframe que nos servira para cargar las paginas de datos.

<body onload="carga()">
<iframe style="visibility:hidden;"></iframe>
<div id="div1"></div>
<div id="div2"></div>
.........
<div id="divn"></div>
</body>
</html>

ESQUEMA DE UNA PAGINA DE DATOS:
Este se resume en el 'div datos' y el script de carga. Deben guardarse con el mismo nombre que los 'divs' a los que van destinados. Para este ejemplo estan guardados con la extension '*.html'.
El contenido del div puede ser tanto texto simple como etiquetas html.
Tambien es posible la lectura de varios 'divs' de una pagina de datos, simplemente añadiendo otra vez lo mismo: div-script-div-script....., para ello hay que dar nombres diferentes a cada uno de los divs y modificar igualmente el parametro de las funciones, Todo ello podria resumirse con un script final, despues de los 'divs': div-div-div......script, que haga un bucle al estilo de la funcion 'carga' de la pagina principal. Igualmente ,y siguiendo esta dinamica, podria ser un formulario abierto en un popup, y en el submit, cambiar 'parent' por 'opener', pero esto habria que comprobarlo.

<div id="datos">
CONTENIDO

</div>
<script>parent.lee(document.getElementById("datos").innerHTML);parent.carga();</script>

Mencion especial a caricatos, por su colaboracion en la resolucion de un escollo de esta utilidad.

Podeis ver una pagina cargada de esta forma en http://es.geocities.com/opinionxreflexion/tarteso/
compuesta de 6 divs cargados desde 6 archivos diferentes.


CREDITOS: programeitor 2005. [email protected]


Última edición por programeitor; 06/10/2005 a las 14:55