Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/08/2013, 04:09
ccliment
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 9 meses
Puntos: 9
Respuesta: Bucle for al que se le pasa en cada variable un archivo.php

Primero, deberías mirar si te está dando un error en el error.log de Apache o si usas IIS donde hayas puesto tu fichero de errores de PHP. Sinó configura php.ini para que display_errors esté a On.

Después, si lo que quieres hacer es simplemente llamar a una función en cada pasada del bucle, no hace falta abrir una session para guardarte una variable y después recuperarlo etc. Es más simple hacerlo de la siguiente forma:

Código PHP:
Ver original
  1. <?php
  2. include_once('./Paso0.php');
  3. foreach ($diffe_array as $maldito){
  4.    insertarRegistros($maldito);
  5. }
  6. ?>

Después en el fichero Paso0.php dejamos el código dentro de una función:

Código PHP:
Ver original
  1. <?php
  2. function Conectarse()
  3. {
  4.        if (!($link=pg_connect("host=xxxxx port=xxxx dbname=xxxxx user=xxxxx password=xxxxx")))  {
  5.            echo "Error conectando a la base de datos.";
  6.            exit();
  7.        }
  8.        return $link;
  9. }
  10.  
  11. function insertarRegistros($maldito){
  12.     $rutas="/mi/ruta/hacia/directorio//";
  13.     $fin= $rutas.$maldito;
  14.     $row = 0;
  15.     $handle = fopen($fin, "r");
  16.  
  17.     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
  18.         $num = count($data);
  19.         $row++;
  20.         echo '<b><br/><br/>';
  21.         $cadena = "insert into tabla(campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8) values(";
  22.    
  23.         for ($c=0; $c < $num; $c++) {
  24.             if ($c==($num-1)){
  25.                   $cadena = $cadena."'".$data[$c] . "'";
  26.             } else {
  27.               $cadena = $cadena."'".$data[$c] . "',";
  28.             }
  29.         }
  30.  
  31.         $cadena = $cadena.");";
  32.         echo $cadena."<br>";  
  33.  
  34.         $enlace=Conectarse();
  35.         $result=pg_query($enlace, $cadena);
  36.         pg_close($enlace);
  37.     }
  38.     fclose($handle);
  39. }
  40.  
  41. ?>

Aún así seguramente se podría simplificar todo y no usar varios ficheros si es simplemente para esto, pero bueno, ya sería otra cosa para mirar. Si te da error ya te digo, siempre mira el error.log porque puedes pensar que es otra cosa la que te falla y perder mucho tiempo.

Saludos.