Ciao nuovamente a tutti.
anche in questo caso ho risolto molto grossolanamente in questo modo:
Codice PHP:
include('../php/connessione.php');
mysql_select_db("mob", $con) or die( mysql_error() );
if (!isset($_POST['filter_word']) || !isset($_POST['filter_grp']) || !isset($_POST['filter_mark']) || !isset($_POST['filter_type']))
{
$result = mysql_query("SELECT * FROM finiture ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
else
{
$filter_word= $_POST['filter_word'];
$filter_grp= $_POST['filter_grp'];
$filter_mark= $_POST['filter_mark'];
$filter_type= $_POST['filter_type'];
//RICERCA SINGOLA FUNZIONANTE
if (($filter_word!="cerca per parola") xor ($filter_grp!="grp") xor ($filter_mark!="mark") xor ($filter_type!="type"))
{
$result = mysql_query("SELECT * FROM finiture WHERE fin_file LIKE '%$filter_word%' OR fin_grp='$filter_grp' OR fin_mark='$filter_mark' OR fin_type='$filter_type' ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
//RICERCA X2 FUNZIONANTE
if ((($filter_word!="cerca per parola") && ($filter_grp!="grp")) xor (($filter_mark!="mark") && ($filter_type!="type")) xor (($filter_word!="cerca per parola") && ($filter_mark!="mark")) xor (($filter_grp!="grp") && ($filter_type!="type")) xor (($filter_word!="cerca per parola") && ($filter_type!="type")) xor (($filter_grp!="grp") && ($filter_mark!="mark")))
{
$result = mysql_query("SELECT * FROM finiture WHERE (fin_file LIKE '%$filter_word%' AND fin_grp='$filter_grp') OR (fin_mark='$filter_mark' AND fin_type='$filter_type') OR (fin_file LIKE '%$filter_word%' AND fin_mark='$filter_mark') OR (fin_grp='$filter_grp' AND fin_type='$filter_type') OR (fin_file LIKE '%$filter_word%' AND fin_type='$filter_type') OR (fin_grp='$filter_grp' AND fin_mark='$filter_mark')ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
//RICERCA X3 FUNZIONANTE
if ((($filter_word!="cerca per parola") && ($filter_grp!="grp") && ($filter_mark!="mark")) xor (($filter_word!="cerca per parola") && ($filter_grp!="grp") && ($filter_type!="type")) xor (($filter_type!="type") && ($filter_grp!="grp") && ($filter_mark!="mark")))
{
$result = mysql_query("SELECT * FROM finiture WHERE (fin_file LIKE '%$filter_word%' AND fin_grp='$filter_grp' AND fin_mark='$filter_mark') OR (fin_file LIKE '%$filter_word%' AND fin_grp='$filter_grp' AND fin_type='$filter_type') OR (fin_mark='$filter_mark' AND fin_grp='$filter_grp' AND fin_type='$filter_type') ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
//RICERCA X4 FUNZIONANTE
if (($filter_word!="cerca per parola") && ($filter_grp!="grp") && ($filter_mark!="mark") && ($filter_type!="type"))
{
$result = mysql_query("SELECT * FROM finiture WHERE (fin_file LIKE '%$filter_word%' AND fin_grp='$filter_grp' AND fin_mark='$filter_mark' AND fin_type='$filter_type') ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
//RICERCA NESSUNO FUNZIONANTE
if (($filter_word=="cerca per parola") && ($filter_grp=="grp") && ($filter_mark=="mark") && ($filter_type=="type"))
{
$result = mysql_query("SELECT * FROM finiture ORDER BY fin_mark ASC, fin_grp ASC LIMIT $inizio, $max");
}
Come vedete è un gran bel rompicapo...non ho fatto altro che valutare tutte le possibilità e fargliele eseguire ognuna a se stante.
Cmq, ora posso andare avanti con il mio progetto.
Tuttavia, se qualcuno mi sa dire un modo migliore, sempre a scopo didattico x me e a x chiunque altro in futuro possa servire, sarò sempre ben lieto di ascoltarlo, provarlo e seguirlo!!!
Grazie lo stesso a tutti, ciao.