Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2010, 06:11
Avatar de principiantedelphp
principiantedelphp
 
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 2 meses
Puntos: 1
Leer archivo de texto con php e insertarlo en base de datos

Hola amigos! Explico mi problema y las soluciones que he dado: tengo un archivo de texto en modo de tabulacion: los campos se separan con tabulador y las filas con una fila en blanco (un enter, disculpen la falta de jerga).
Deseo abrilo en php e insertar las filas en mi base de datos MySQL.
He leido varios articulos y uno en especial de un tal pateketrueke que me parecio excelente, pero no di con el clavo.
Para no confundir, las variables $media y $derivada son números aleatorios y NO están en el archivo de texto. Las otras 3 ($a, $b y $c, si estan en el archivo de texto)
El problema es que con el siguiente código me inserta sólo una fila en la base de datos(la penúltima ), aunque si le digo que imprima en pantalla (poniendo echo $media, echo $derivada, etc, debajo de cada variable), sale todo en la pantalla del monitor.

El código:
(antes esta la conexion a la base de datos, es correcta)
Cita:
$link=conectar();
mysql_query ("SET NAMES 'utf8'");
$lines = file('archivodetexto.txt'); //Abre el archivo de texto
foreach ($lines as $line_num => $line) {
mt_srand (time());
$i = rand(40,60);
$media=$i/20;
echo $media;
$derivada=rand(5,30);
echo $derivada;
$a=$datos[0];
echo $a;
$b=$datos[1];
echo $b;
$c=$datos[2];
echo $c;
$q = "INSERT INTO rank (media, derivada, a, b, c) values ('$media', '$derivada', '$a', '$b', '$c')";
$datos = explode("\t", $line);
}
mysql_query($q, $link);
mysql_close($link);
Bueno, hermanos, ¿Como puedo resolver esto? Gracias