Ver Mensaje Individual
  #35 (permalink)  
Antiguo 19/01/2013, 22:36
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, 11 meses
Puntos: 270
Respuesta: problema con consulta a base de datos

Te lo he reorganizado, y limpiado, con una mejor gestión de los casos especiales.

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>Problema</title>
  4. </head>
  5. <body>
  6. <?php
  7.  
  8. define("NLINES",10);
  9. $cabecera="cabecera\n\n";  
  10. $pie="Este es mi pie";
  11.  
  12. $counter=0;
  13. // Si no existe ningun fichero, estamos al principio.
  14. if(!file_exists("miFichero0.txt"))
  15. {
  16.     $index=-1;
  17.     $currentFile=null;
  18. }
  19. else
  20. {
  21.     // Existe al menos 1 fichero.
  22.    $k=0;
  23.    while(file_exists("miFichero".$k.".txt"))
  24.    {
  25.        $k++; // Este es el bucle.
  26.    }
  27.    // Al salir del bucle, k indica que fichero NO existe.Asi que, el ultimo que existe es k-1.
  28.    $k--;
  29.    // Se abre el fichero, y se cuenta el numero de líneas que contiene.
  30.    $lines=file("./miFichero".$k.".txt");    
  31.    foreach($lines as $value)
  32.       $counter+=($value[0]=='#'?1:0);
  33.    $index=$k;
  34.    $currentFile=fopen("miFichero".$index.".txt","a");                
  35. }
  36.  
  37. // $res es el resultado de mysql_query de tu consulta.
  38. for($k=0;$k<23;$k++)
  39. {
  40.      if($counter%NLINES==0)
  41.      {
  42.             if($currentFile!=null)
  43.             {  
  44.                 fwrite($currentFile, $pie);            
  45.                 fclose($currentFile);
  46.              }
  47.              $index++;
  48.              $currentFile=fopen("miFichero".$index.".txt","w");
  49.              
  50.              fwrite($currentFile, $cabecera);
  51.      }
  52.     fwrite($currentFile, "# ".$k." -- ".$counter."\n\n");
  53.     $counter++;  
  54. }
  55. if($currentFile)
  56. {
  57.     if($counter%NLINES==0)
  58.         fwrite($currentFile, $pie);
  59.      fclose($currentFile);
  60. }
  61.  
  62.   ?>
  63.  
  64. </body>
  65. </html>