Grazie per la tua risposta, ti posto l'intero codice:
Codice PHP:
$variante=array();
$q = "SELECT * FROM products_options_values WHERE products_options_values_name = '".$_POST['Variante1']."'";
$s = mysql_query($q) or die (mysql_error());
while ($row = mysql_fetch_array($s))
{
$variante[] = $row['products_options_values_name'];
}
$array = explode("," ,$_POST['Variante1']);
$array = $array;
$var1=count($array);
$res = false;
for($i=0;$i<$var1;$i++)
{
if ($array[$i]==$variante[$i])
{
$res=true;
}
}
if($res == false)
{
$languages = tep_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++)
{
$lang = $languages[$i]['id'];
$vari = $params['Variante1'];
$query = "INSERT INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
('', '$lang', '$vari', '1')";
$insert = mysql_query($query);
if(!$insert) die(mysql_error());
}
}
Allora, la stringa $_POST['variante1'] viene trasformata in array $array = explode("," ,$_POST['Variante1']);
quindi può contenere da uno a molti valori, per cui in base al numero dei valori deve eseguire tot query d'inserimento nel database, da premettere che il database non contiene alcun campo autoincrement, perchè come puoi vedere dal codice, ogni valore deve essere associato ad un'id lingua.
Come è strutturato il codice, così esegue solo il primo valore contenuto nell'array, poi dopo si ferma, non capisco come mai, mentre se rendo un campo della tabella autoincrementante funziona bene.
Spero di essere stato abbastanza chiaro, grazie.