Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2009, 15:48
Pax-Man
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 20 años, 5 meses
Puntos: 4
Subir datos de un archivo de texto a una base de datos sql

Pues cuento que tengo el presente problema, poseo un archivo de texto de casi 5000 nombres, muchos de ellos repetidos y deseo hacer un filtro antes de subirlos a la base de datos para evitar que alguno este repetido, para hacer todo esto he creado este codigo.

Código php:
Ver original
  1. <?php
  2. function conectar() {  // conexion a base de datos
  3.  
  4.     global $conexion;
  5.     $conexion = mysql_connect("localhost", "root", "")
  6.                 or die("Error en Conexi?n a Servidor de Base de datos");
  7.     mysql_select_db("test", $conexion) or die("Error en Conexion a Base de datos");
  8. return $conexion;
  9. }
  10. $file=file("nombres.txt");  //tenen en cuenta la ruta de tu archivo...  
  11. echo "Registros:";
  12. echo count($file);
  13. echo "<br>";
  14.  
  15. for ($i = 0; $i <= count($file); $i++) {
  16.      //TRATAMOS LOS DATOS
  17.      $cadena = $file[$i];
  18.      $cadena = strtolower($cadena);
  19.      $matriz = split(" ", $cadena);
  20.      $cadena = $matriz[0];
  21.      $cadena = strtr($cadena, áéíóúñ, aeioun);
  22.      $cadena = str_replace("i","a",$cadena);
  23.      $cadena = str_replace("é","e",$cadena);
  24.      $cadena = str_replace("Ã","i",$cadena);
  25.      $cadena = str_replace("ó","o",$cadena);
  26.      $cadena = str_replace("±","n",$cadena);                 
  27.      $cadena = ucwords($cadena);
  28.      $cadena = trim($cadena);
  29.      //NOS CONETAMOS A LA BASE DE DE DATOS
  30.  
  31. conectar();
  32. //Verificamos que no existe el nombre, y si no existe lo insertamos en la base de datos
  33. $query = "SELECT nombre FROM datos WHERE nombre = '$cadena'";
  34. if($resultado = mysql_query($query)){
  35.         if(mysql_num_rows($resultado) == 0){
  36.         $sql = "INSERT INTO datos
  37.        VALUES (NULL, '$cadena')";
  38.      }
  39. }  
  40. }
  41. ?>

Pero aun no termina de funcionar introduciendome los datos en la base de datos... alguna ayuda???