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.