1)dentro una funzione ho l'explode che elabora i dati dal db:
$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 es. 28,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 ";
$sqlex= mysql_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;$x< count($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_P ASSWORD_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 dati (`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