ciao questo è il mio codice:
Codice PHP:
$records = file($file);
$rec_aggiornati =0;
$rec_inseriti =0;
for($i=0;$i<sizeof($records);$i++){
//ora divido il record in tante stringhe a seconda del ;
$campo=explode(";",$records[$i]);
//recupero i vari campi che sono 20
$campo1=$campo[0];
/*
....
*/
if(mysql_num_rows(mysql_query("select codice from $this->tabella where codice='$campo1'"))>0){
//aggiorno
$rec_aggiornati++;
$_SESSION["$rec_aggiornati"]=$rec_aggiornati;
$query="update $this->tabella set .....campi where codice='$campo[0]'";
//echo $query;
mysql_query($query) or die (mysql_error());
}else{
$rec_inseriti ++;
$_SESSION["$rec_inseriti"]=$rec_inseriti;
//inserisco
$query="insert into $this->tabella ...campi..";
//echo $query;
mysql_query($query) or die (mysql_error());
}
}
echo "RECORD INSERITI: $rec_inseriti";
echo "
";
echo "RECORD AGGIORNATI: $rec_aggiornati";
se lo eseguo su un file che contiene 12000 prodotti si blocca...non ho aspettato oltre 3 minuti...
se invece tolgo il controllo e gli faccio fare solo le insert in 5 secondi carica tutto!