Ver Mensaje Individual
  #26 (permalink)  
Antiguo 19/01/2013, 20:01
Avatar de Most
Most
 
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: problema con consulta a base de datos

Ok, la linea 36 : $currentFile=fopen("miFichero".($counter/10).".txt","w");


Hay que dejarla asi, en W ?


(no se si sera por que la cambie la linea 36 a "a" pero me sige escribiendo la cabecera :S)

si lo dejo en W lo que hace es modificar el archivo sustitullendo no?


Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>Problema</title>
  4. </head>
  5. <body>
  6. <?php
  7. //Obtenemos ID
  8. $id=$_GET[id];
  9. //Seleccionamos BD
  10. require("conexion.php");
  11. $result=mysql_query("select * from navi where id_navi='$id'",$connect);
  12.  
  13.  
  14. $k=1;
  15. while(file_exists("miFichero".$k.".txt"))$k++; // Este es el bucle.
  16. // Al salir del bucle, k indica que fichero NO existe.Asi que, el ultimo que existe es k-1.
  17. $k--;
  18.  
  19. // Ahora, si k > 1 , significa que hay más de un fichero.k-1 es el numero de ficheros completos.
  20. $counter=0;
  21. $currentFile=null;
  22.  
  23. if(k>0)
  24. {
  25.      $lines=file("miFichero".$k.".txt");
  26.      $counter=count($lines)-1; // se resta la linea de la cabecera.
  27.      $currentFile=fopen("miFichero".$k.".txt","a");
  28. }
  29. if(k>1)
  30.     $counter+=40*(k-1);
  31.  
  32. $text="";
  33.  
  34.  
  35.  
  36. $cabecera="cabecera\n\n";  
  37. $pie="Este es mi pie";
  38.  
  39. // $res es el resultado de mysql_query de tu consulta.
  40. while($row=mysql_fetch_array($result))
  41. {
  42.      if($counter%10==0)
  43.      {
  44.             if($currentFile!=null)
  45.             {  
  46.                 fwrite($currentFile, $pie);            
  47.                 fclose($currentFile);
  48.              }
  49.              $currentFile=fopen("miFichero".($counter/10).".txt","a");
  50.              fwrite($currentFile, $cabecera);
  51.      }
  52.     fwrite($currentFile, "# ".$row[id_navi]."
  53. type=video
  54. name=".$row[titulo]."
  55. thumb=".$row[caratula]."
  56. URL=".$row[url]."
  57. ".$row[procesador]."\n\n");
  58.     $counter++;  
  59. }
  60. if($currentFile)
  61.      fclose($currentFile);
  62.  
  63.   ?>
  64.  
  65. </body>
  66. </html>

asi lo he dejado.

linea 49: $currentFile=fopen("miFichero".($counter/10).".txt","a");

Con a = escribe cabecera siempre, delante de cada linea

con w = reemplaza

Última edición por Most; 19/01/2013 a las 20:09