Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2006, 15:13
Avatar de el_cesar
el_cesar
 
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
insertar datos y saltarse las entradas duplicadas

estoy insertando unos datos provenientes de un archivo .csv a mi bd, son uno 12.000 registros y hay algunas entradas duplicadas, la pregunta es, como le puedo hacer para que cada vez que me salga una entrada duplicada la deseche y siga insertando las otras que no sean duplicadas?

mi script es el siguiente:

Código PHP:
<? 
    $dbh
=mysql_connect ("localhost""root""") or die ('I cannot connect to the database because: ' mysql_error()); 
    
mysql_select_db ("share_marketing"); 
       
    
$handle fopen ("bd.csv""r");       
    if (
$handle
    { 
        
$row explode("\n"fread($handlefilesize("bd.csv"))); 
    } 
     
$i 0
     while (
$i $row){ 
    foreach(
$row as $data
    {       
        
$data explode(";"$row[$i], 9); 

        echo 
'<table border="1">'
        echo 
'<tr>'
        
/*$sql = "INSERT INTO empresas (nombre,apellido1,apellido2,cargo,empresa,direccion,telefono,extension,ciudad)    VALUES (0"; 
        foreach($data as $field) 
        {       
            echo "<td><b>".$field."</b></td>"; 
            $sql .= ",'$field'"; 
        } 
        $sql .= ");";*/
        
        
$sql "INSERT INTO target (razon_social,contacto,cargo,email,direccion,telefono,ciudad,sector,website)    VALUES (";
        foreach(
$data as $field)
        {      
            echo 
"<td><b>".$field."</b></td>";
            
$sql .= "'$field',";
        }
        
$sql substr($sql0strlen($sql) - 1);  
//suponiendo que PHP te admita esa función, pero seguro que tiene 
//alguna parecida, ya que si no te quedaría una , al final de la instrucción
        
$sql .= ");";  
        
mysql_db_query ("share_marketing"$sql) or die (mysql_error()); 
        echo 
'</tr>'
        echo 
'</table>'
    
$i++; 
    } 
    } 
?>
la idea que tengo es crear un bucle que se repita y los inserte pero no se como hacerlo
__________________
Say no more.......