risolto
posto il codice finale nel caso potesse servire a qualcuno:
codice:
<?php
require_once("connect.inc.php");
$f = file_get_contents("segnalazione_2.txt");
$f2 = explode("\n", $f); // prendo intestazioni e relativi valori
array_pop($f2); // elimino l'ultimo elemento che non serve
$end=array();
foreach($f2 as $key=>$value){
$a=explode("\";\"", $f2[$key]);
foreach ($a as $k=>$v){
if (substr($a[$k],0,1) == "\"") $a[$k] = substr($a[$k],1);
if (substr($a[$k],-1,1) == "\"") $a[$k] = substr($a[$k],0,-1);
// echo "{$k}=>{$a[$k]}
\n";
}
array_push($end, $a);
}
reset($end);
// il primo elemento dell'array conterrà sempre le intestazioni
$i=$end[0];
for ($k=1;$k<count($end);$k++){
$v="SELECT * FROM clienti WHERE segnalazione_id = ".$end[$k][0];
$r=mysql_query($v)or die("errore: ".mysql_error());
if (mysql_num_rows($r)!=0){ // esiste già il record quindi faccio l'update
$u="UPDATE clienti SET ";
$set="";
foreach ($i as $key=>$value){
if ($key==0) continue;
$set.="$value = '".addslashes($end[$k][$key])."', ";
}
$set=substr($set,0,-2);
$w=" WHERE segnalazione_id = {$end[$k][0]}";
}else{ // devo fare l'inserimento
$u="INSERT INTO clienti (";
$set="";
foreach ($i as $key=>$value){
$set.="$value, ";
}
$set=substr($set,0,-2).") VALUES(";
reset($i);
foreach ($i as $key=>$value){
$set.="'".addslashes($end[$k][$key])."', ";
}
$set=substr($set,0,-2).")";
}
$u.=$set.$w;
echo "
\nquery: {$u}
\n";
if (isset($r) && is_resource($r)) mysql_free_result($r);
}
?>