Ver Mensaje Individual
  #15 (permalink)  
Antiguo 19/01/2013, 18:43
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: problema con consulta a base de datos

Cita:
Iniciado por Most Ver Mensaje

5.- Modo de insercion y limites

5.1 Si el archivo no existe, se creara

5.2 Si el php imprime los datos por primera vez en un archivo vacio, que añada la cabecera al principio de este archivo.

5.3 Si el php imprime los datos despues de la primera vez, que solo imprima los datos, sin cabecera.

5.4 Si el php imprime los datos 40 veces, que imprima el pie de pagina, cierre ese archivo, no vuelva a escribir en el y cree otro archivo nuevo (MiFichero2.txt).

5.5 Si el php vuelve a imprimir algun dato mas, que lo imprima en MiFichero2.txt, pero que antes de imprimir haga como en el paso 5.1.


Despues del paso 5.5 que empiece de nuevo por el 5.3

---------------------------------------------------------------------------------------

Me he explicado mejor?
A ver si es esto.
5.- Modo de insercion y limites

5.1 Si no existe ningún archivo, o el último escrito tiene 40 lineas (excluyendo cabecera y pie), se crea uno nuevo.

5.2 Si el fichero es nuevo, añadir cabecera.

5.3 "Si el php imprime los datos despues de la primera vez", supongo que significa , "si el php es llamado de nuevo, en una nueva request".Si es eso lo que significa, automáticamente sabes por qué necesitas encontrar cuál es el último fichero en el que se ha escrito.

5.4 "Si el php imprime los datos 40 veces" supongo que significa que "cuando, al añadir líneas en la primera, o en otras requests a ese php, el fichero actual llegue a tener 40 lineas".En ese caso, se añade el pie, y se crea un archivo nuevo. (MiFichero2.txt).

5.5 "Si el php vuelve a imprimir algun dato mas, que lo imprima en MiFichero2.txt," supongo que significa que "si en la request actual, aún quedan filas de la base de datos por guardar, siga guardando en el nuevo fichero, tras añadir la cabecera.5.1.

Si es como he puesto arriba, el algoritmo es sencillo:

1) Encontrar dónde me quedé.Dónde me quedé significa saber cuál fue el último fichero donde se escribió, y cuántas filas de la base de datos se escribieron en él.

2)Si no existe ningún fichero, es que es la primera vez que se llama.El algoritmo que tenías va a funcionar bien.

3)Pero si existe algún fichero, hay que inicializar las variables a un estado compatible con el algoritmo que tenías.Y esto es, asignar valores a $counter, y $currentFile, que es lo que te decía en un post anterior.