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

Ok, ahroa parece que va, lo unico que no va, es el escribir el pie de pagina al final de cada pagina...

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. // Ponemos el numero de lineas por fichero , en un define, en vez de repetirla en todos lados a pelo.
  13. define("NLINES",10);
  14.  
  15.  
  16. $k=0;
  17. while(file_exists("miFichero".$k.".txt"))$k++; // Este es el bucle.
  18.  
  19.  
  20. // Al salir del bucle, k indica que fichero NO existe.Asi que, el ultimo que existe (si existe) es k-1.
  21. $k--;
  22.  
  23. // Ahora, si k > 0 , significa que hay más de un fichero.k-1 es el numero de ficheros completos.
  24. $counter=0;
  25. $currentFile=null;
  26.  
  27. // Puede ser que no exista ninguno, asi que hacemos is_file.
  28. if(is_file("./miFichero".$k.".txt"))
  29. {    
  30.      // Existe alguno, y $k es el ultimo fichero.Se abre.
  31.      $lines=file("./miFichero".$k.".txt");    
  32.      // Se cuentan las lineas que empiezan por '#'.Esas son las lineas que ya hay escritas en el fichero.
  33.      foreach($lines as $value)
  34.          $counter+=($value[0]=='#'?1:0);
  35.  
  36.      // Por ahora, pensamos que tenemos que escribir en el ultimo fichero    
  37.      $curFile=$k;
  38.  
  39.      if($counter>=NLINES) // A menos que ese fichero ya tenga NLINES.En ese caso, vamos al siguiente.
  40.          $curFile++;
  41.  
  42.      $currentFile=fopen("miFichero".$curFile.".txt","a");          
  43. }
  44.  
  45. // En counter, tenemos el numero de lineas que habia en el ultimo fichero.Le añadimos todas las que hay en los ficheros anteriores.
  46. if($k>1)
  47.     $counter+=NLINES*$k;
  48.  
  49. $text="";  
  50. $cabecera="cabecera\n\n";  
  51. $pie="Este es mi pie";
  52.  
  53. // $res es el resultado de mysql_query de tu consulta.
  54. while($row=mysql_fetch_array($result))
  55. {
  56.      if($counter%NLINES==0)
  57.      {
  58.             if($currentFile!=null)
  59.             {  
  60.                 fwrite($currentFile, $pie);            
  61.                 fclose($currentFile);
  62.              }
  63.              $currentFile=fopen("miFichero".($counter/NLINES).".txt","w");
  64.              fwrite($currentFile, $cabecera);
  65.      }
  66.     fwrite($currentFile, "# ".$row[id_navi]."
  67. type=video
  68. name=".$row[titulo]."
  69. thumb=".$row[caratula]."
  70. URL=".$row[url]."
  71. ".$row[procesador]."\n\n");
  72.     $counter++;  
  73. }
  74. if($currentFile)
  75.      fclose($currentFile);
  76.  
  77.   ?>
  78.  
  79. </body>
  80. </html>