Ciao a tutti,
dovrei aggiornare una tabella in base ad un array di valori dati da un input select multiplo..
Partiamo dalle tabelle che sono 3:
la prima news
idn | tit | txt
la seconda brand
idb | nome
La terza relation
idr | idn | idb
uso la tabella relation per avere la possibilità di associare più brand ad una news..
creando quindi un paio di news ed associandogli dei brand mi ritrovo ad avere in tabella relation una situazione del genere..
idr | idn | idb
1 | 1 | 3
2 | 1 | 6
3 | 1 | 8
4 | 2 | 1
5 | 2 | 3
dove alla news 1 ho associato i brand con idb 3,6,8 e alla news 2 quelli con idb 1,3
prelevati dal mio input select multiplo con variabile $rel
per inserirli ho fatto così:
Codice PHP:
$cg = $_POST['cg']; //id della news
if ($rel <> ""):
foreach($rel as $brandrel){
mysql_query("INSERT INTO relation(idn, idb) VALUES('$cg', '$brandrel')");
}
endif;
fino qua diciamo tutto bene..
ora vorrei però che la query controlli se nella tabella relation esistano già relazioni in base all'array passato da $rel e nel caso aggiornare quei record oppure inserirne di nuovi..
e quelli non presenti nell'array cancellarli..
tra le mie tante prove mi sono incastrato qua..
Codice PHP:
$cg = $_POST['cg']; //id della news
if ($rel <> ""):
foreach($rel as $brandrel){
$query = mysql_query("SELECT * FROM relation WHERE idn='$cg' AND idb='$brandrel'");
if (mysql_num_rows($query) != 0) {
mysql_query("UPDATE relation SET idn = \"$brandrel\" WHERE idn = \"$cg\"");
}
else {
mysql_query("INSERT INTO relation(idn, idb) VALUES('$cg', '$brandrel')");
}
}
endif;
Come posso fare?
Grazie in anticipo..