1) Привет, по какому источнику изучал PHP ? (книга, курс, прочее). Предлагаю выбросить этот источник.
Там, в коде, куча SQL-инъекций, сайт будут ломать как нефиг делать.
2) Для простоты желательно разделить код получения данных от вывода HTML.
3) По поводу вопроса: есть несколько критерий фильтрации, вычисляешь те, которые заданы и применяешь к запросу примерно так:
PHP:
$where = '';
if($param1) {
if ($where != '') $where .= " AND ";
$where .= $param1;
}
if($param2) {
.......
}
if($param3) {
.......
}
$query = "SELECT * FROM shiny " . $where . " ORDER BY ...";
Или используешь QueryBuilder, он есть в большинстве фреймворков.
Не забывай об SQL-инъекциях. Точнее говоря - об этом нужно думать в первую очередь.
P.S. Код не проверял, хотел показать идею.