ciao, ho delle righe di PHP che mi estraggono dei valori da un DB mysql, secondo vari criteri, un criterio è questo:
if ($_POST["search_cat"] and $_POST["search_cat"])
$where .= " AND cat LIKE '%".mysql_escape_string($_POST["search_cat"])."%' ";
search_cat è un listmenu, una tendina da cui scelgo UN valore da cercare.
La mia esigenza ora è invece di scegliere PIU' valori contemporaneamente quindi pensavo di impaginare i valori del listmenu in tante checkbox e poi ho buttato giù così il php:
$arr_cat = array();
foreach ($_POST as $key => $value)
{
if (substr($key, 0, 5) == "cat_" and $value)
$arr_cat[] = $value;
}
$where_cat = $arr_cat?"AND cat LIKE ('".implode("','", $arr_cat)."') ":"";
e poi chiudevo il tutto così
$query = "
SELECT *
FROM tabella
WHERE 1
$where (che è un altro criterio di selezione che non ho messo qui xchè funziona)
$where_cat
ORDER BY id
ma non funzia, mi estrae i valori dal DB ma come se la selezione CAT non esistesse, prende tutti i valori senza verificare le checkbox della CAT selezionate da me
Dove sbaglio?