Ver Mensaje Individual
  #18 (permalink)  
Antiguo 19/12/2002, 13:47
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bonito diagrama entidad-relacion. Si, es otra opcion valida, tener las "paginas" en distintos registros. Tiene el problema de como "controlar" la creacion de las "paginas". Tendria que hacerse a mano, como en mi opcion. Realmente seria mas rapido, ya que solo lees la pagina a mostrar, no todo el articulo. Ademas de la tarea de la funcion de partir el articulo.

Pero yo sigo defendiendo mi opcion. Asi que pongo aqui un poco de codigo y luego lo comento.
Código PHP:
<?php
$articulo
="primera pagina<marca_salto_pagina />segunda pagina<marca_salto_pagina>";
$articulo.="titulo Tercera</marca_salto_pagina>tercera pagina<marca_salto_pagina>";
$articulo.="titulo cuarta</marca_salto_pagina>cuarta pagina";
$paginas=preg_split("'(<marca_salto_pagina />|<marca_salto_pagina>.*?</marca_salto_pagina>)'",$articulo);
echo 
"primera:<br>".$paginas[0]."<br>";
echo 
"tercera:<br>".$paginas[2]."<br>";
echo 
"segunda:<br>".$paginas[1]."<br>";
echo 
"cuarta:<br>".$paginas[3]."<br>";
preg_match_all("'<marca_salto_pagina />|<marca_salto_pagina>(.*?)</marca_salto_pagina>'",$articulo,$titulos,PREG_SET_ORDER);
echo 
'<pre>';
print_r($titulos);
echo 
'</pre>';
// en $titulos[x][1] esta el titulo. Si no se especifico, ese indice no existe.
// Se puede comprobar con isset() o array_key_exists().
// en este ejemplo, $titulos[0] tiene los valores para la segunda pagina.
// Razon: no hay etiqueta antes de la primera pagina. Si se pone, en $paginas habria
// un elemento mas (aunque quizas con el flag PREG_SPLIT_NO_EMPTY de preg_split()
// se puede correguir).
?>
En este codigo modifico un poco la idea que explique antes. Ademas de tener una marca de salto de pagina "normal" (<marca_salto_pagina />), tengo una avanzada que permite poner el titulo a la siguiente pagina(<marca_salto_pagina>titulo pagina</marca_salto_pagina>). ¿Que utilidad puede tener? Pues para poner un texto al link a la siguiente pagina o cargar un combo con la lista de titulos y usarlo como link a las paginas (como el combo de foros). Es cierto que esto mismo lo puedes hacer con el sistema de tablas.

Supongo que os habreis fijado en la nomenclatura que uso, XML. Mi idea principal es que se podria usar mi formato como entrada a un script que genere los registros de las tablas o bien directamente. O tambien como formato de salida de la BD a fichero.

Luego tambien he pensado sobre que podria cambiar la marca, para que en vez de marcar los saltos de pagina, marcara el comienzo de la pagina. Seria un cambio sencillo.

Los inconvenientes que tiene es que hay que marcar "manualmente" las paginas, y que puede ser un pelin mas lento, debido a las regexp.

Pero sigo opinando que puede ser una buena opcion. Posiblemente ya tengas que editar los articulos que te vienen para adaptarlos a tus hojas de estilos, asi que meter las marcas no deberia ser muy complicado.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.