Eccomi
Questo è il nuovo codice:
Codice PHP:
// Escape dei campi del form
mysql_connect('localhost', 'ekoes_srv', 'f8f138f75');
$regioni = mysql_real_escape_string($_POST['regioni']);
$provincia = mysql_real_escape_string($_POST['provincia']);
$condizioni_query = array();
// Costruiamo le istruzioni SQl per selezionare i record desiderati, basandoci sulle checkbox selezionate
// Ogni servizio spuntato implicherà la ricerca dei record che hanno il relativo campo settato a 1
if (count($_POST['servizio'])) {
$function = create_function('$servizio', 'return "$servizio = 1";');
$condizioni_query += array_map($function, $_POST['servizio']);
}
if ($provincia != 'tutte') {
$condizioni_query[] = "regioneazienda = '$regioni'";
$condizioni_query[] = "provincia = '$provincia'";
}
// Costruiamo la clausola WHERE solo se sono stati selezionati i campi di ricerca
if ($condizioni_query)
$clausola_where = 'WHERE '. implode(' AND ', $condizioni_query);
// Concateniamo le stringhe e otteniamo la nostra query
$query = "SELECT * FROM $table02 $clausola_where";
Potevamo costruire tutto con una serie di condizioni IF, a patto di cambiare il codice ogni volta che si aggiunge o si toglie un nuovo servizio.
Così invece è sufficiente aggiungere la checkbox e il campo nella tabella perché la query viene creata dinamicamente ogni volta