tieni presente che IN() vuole i dati separati da una virgola e tra apici se stringhe.
IN('pippo', 'pluto')
per quanto riguarda lo script... se un dato del tipo:
if ($Termine=="avellino") {
$TermineProv = "1";
lascia presumere che '1' sia un attributo di avellino e che '1' sia attributo di abruzzo.... e quindi perfettamente inutile eseguire un switch per assegnare un valore che puo' essere direttamente messo nella tabella.
mi sa inoltre che la struttura delle tabelle sia migliorabile.