Salve ragazzi, ho questo codice dove inserisce dei valori contenuti in array nel database, però volevo fare in modo che se nell'array un qualsiasi valore sia ripetuto venga inserito una sola volta nel database, ecco il codice:
Codice PHP:
$q = "SELECT * FROM products_options_values WHERE products_options_values_name = '".$_POST['Variante1']."' &&
products_options_values_name = '".$_POST['Variante2']."'";
$s = mysql_query($q) or die (mysql_error());
while ($row = mysql_fetch_array($s)){
$variante[] = $row['products_options_values_name'];
}
$array1 = explode("," ,$_POST['TipoVariante1']);
$num = 1;
if (in_array($num, $array1)){
$res = array_unique($array1);
}
$array2 = explode("," ,$_POST['Variante1']);
$nume = 1;
if (in_array($nume, $array2)){
$res1 = array_unique($array2);
}
$array = $res;
$var2=count($array);
$res = false;
for($i=0;$i<$var2;$i++) {
if ($array[$i]==$variante[$i])
{
$res1=true;
}
}
if($res1 == false) {
$q = "SELECT * FROM products_options WHERE products_options_name = '".$_POST['TipoVariante1']."'";
$s = mysql_query($q);
while ($row = mysql_fetch_array($s)){
$vari = $row['products_options_id'];
}
$vari1 = setstockvar($params['Variante1']);
$pid = $_POST['Model'];
$query = "INSERT INTO products_attributes (products_attributes_id, products_id, options_id, options_values_id, product_attribute_is_free, attributes_discounted, attributes_price_base_included)
VALUES ('', '$pid', '$vari', '$vari1', '1', '1', '1')";
$insert = mysql_query($query);
if(!$insert) die(mysql_error());
}
};
Quindi se nell'array è contenuto ad esempio: $array = (1,2,2,3,1);
nel database deve essere inserito solo 1, 2, 3.
Spero di essere stato abbastanza chiaro.
Grazie