Più o meno sono vicino alla soluzione:
la notizia da aggiornare mi compare con un campo input di tipo text chiamato tag contenente i tag associati a quella notizia (convertiti da numerici a testuali): bianco, rosso, verde
ed un campo input di tipo hidden chiamato tag_old contentente gli stessi valori.
L'utente può modificare ovviamente solo quelli editabili potendo cambiare alcune voci, aggiungerne o cancellarne altre.
nella pagina che recupera i dati ora ho questo:
Codice PHP:
$strTagsOld = "bianco, rosso, verde";
$strTags = "bianco, verde, blu;
Le operazioni di verifica tag comuni, nuovi e cancellati le farei eseguire rispettivamente da questo codice:
Codice PHP:
$strTagsCommon = array_intersect($strTagsOld, $strTags); // recupero solo i tag presenti sia prima che dopo l'aggiornamento
$strTagsNew = array_diff($strTags, $strTagsOld); // recupero solo i nuovi tag presenti nella pagina di aggiornamento
$strTagsDel = array_diff($strTagsOld, $strTags); // recupero solo i tag vecchi e non presenti nella pagina di aggiornamento
Ma come risultato ottengo un insperato:
codice:
Warning: array_intersect() [function.array-intersect]: Argument #1 is not an array in /path/pagina.php on line 153
Warning: array_diff() [function.array-diff]: Argument #1 is not an array in /path/pagina.php on line 169
Warning: array_diff() [function.array-diff]: Argument #1 is not an array in /path/pagina.php on line 197
Qualche idea?