1)dentro una funzione ho l'explode che elabora i dati dal db:
Codice PHP:
$settori trim($rows['settori']);//es. 28,29,31,32 
$features explode(",",$settori); 
faccio il ciclo
 
for($x=0;$x<count($features);$x++)

$result .= $features[$x]; 
prendo tutti i nomi dei settori con gli id ad es28,29,31,32 e faccio la query

 $sql2 
mysql_query("SELECT * FROM settori WHERE id = '".$features[$x]."' ORDER BY featureID ASC")or die( mysql_error() );
 
//qui prendo quelli gli altri con AND da errore....
 
$SQLEx .= "featureID <> '".$features[$x]."' AND ";
 
$sqlexmysql_query("SELECT * FROM settori WHERE '".$SQLEx."' ")or die( mysql_error() ); 
while (
$rows mysql_fetch_assoc($sqlex)) {
  
$nomiex .= trim($rows['featureName']).",";  } 
while (
$rows2 mysql_fetch_assoc($sql2)) {
 
$name .= trim($rows2['featureName']).","; }
 } 

//PRENDO TUTTI I NOMI DEI SETTORI PER METTERLI NELL'INSERT SOTTO COME $nomi 
 
$sql2 mysql_query("SELECT * FROM settori ORDER BY id ASC")or die( mysql_error() ); 
 while (
$rows mysql_fetch_assoc($sql2)) { 
 
$nomi .= "`".trim($rows['featureName'])."` ,";  }
 
//PRENDO I NOMI RISULTANTI DALLA QUERY sql2
 
$name explode(",",$name); 
 for(
$x=0;$xcount($name) ;$x++)
{
 
$SQL1 .= "`".$name[$x]."`= '1' ,";
 } 
//QUELLI NON SCELTI DALLA QUERY sql2 cioè la $sqlex
 
$nomiex explode(","$nomiex);
 
$numero count($nomiex); 
for(
$x=0;$x<$numero;$x++){ 
$SQLex .= "`".$nomiex[$x]."`= ' ' ,";
 } 
  
//MI CONNETTO AL DB REMOTO E SALVO I DATI
$connect mysql_connect(DB_SERVER_REMOTO,DB_USER_REMOTO,DB_PASSWORD_REMOTO) or die( mysql_error() ); 
 
$select mysql_select_db(DB_NAME_REMOTO,$connect) or die( mysql_error() ); 
 
//VEDO SE C'È GIÀ UN 'ARTICOLO CON LO STESSO id 
$sql2 mysql_query("SELECT * FROM datifinali WHERE id = '".$id."' ") or die( mysql_error() );  $num_rows mysql_num_rows($sql2); 
 
//se non c'è inserisco il nuovo articolo
 
if ($num_rows<1) { 
mysql_query("INSERT INTO datifinali (`IDDati`, `TipologiaMacchine`, `Marca`, `Modello`, `Dati` ,`Dati en`, `Dati fr`, `Dati es`, `Dati ru`, $nomi `Inserimento sito`) 
 VALUES ('"
.$id."','".$TipologiaMacchine."','".$marca."','".$modello."','".$dati."','".$dati."','".$dati."','".$dati."','".$dati."' , $SQL1 $SQLex 1)") or die( mysql_error() );   
 }
else{  
 
//se c'è già lo aggiorno 
mysql_query("UPDATE dati SET  TipologiaMacchine = '".$TipologiaMacchine."',  Marca = '".$marca."',  Modello = '".$modello."',  Dati = '".$dati."',  $SQL2  `Inserimento sito` = '1'    WHERE IDDati = '".$id."'  ") or die( mysql_error() ); 
 } 
Problemi: il ciclo su explode restituisce un valore in piu' la query su $sqlex da errori non so come mettere $SQLEx .= "featureID <> '".$features[$x]."' AND ";

Grazie dell'eventuale consiglio