Sergey, так как я вам покажу подобный пример?) надо запросики в базу делать) Я ж не знаю как у вас привязаны характеристики)
По логике примерно так...
Нажимаем на бренд... Делаем запрос в базу через Ajax, при ответе вставляем элементы выведенные из базы... тут же следом делаем еще один запрос в базу через ajax, но только уже для меню... и вставляем результат)...
Короче говоря тут все упирается в то как у вас привязаны характеристики к товарам и категориям.
Persotr27, После float надо делать блок с clear.
Я добавил вам довольно таки удобный класс .clearfix, а вообще лучше изучайте и используйте другие способы выстраивания блоков рядом) Например Flex или через display: inline-block;
Как вариант... Просто берете и передаете все значения с фильтра, если они не равны дефолту т.е они не изменились, то успускаете в запросе в ajax.php (например) Далее просто составляете запрос т.е добавляете условия к основному запросу например:
if($brend) $where .= " AND brend = '{$brend}'";
if($camera) $where .= " AND camera = '{$camera}";
$query = "SELECT * FROM `products` WHERE category_id = '1'{$where} ORDER BY `rate` DESC";
А дальше уже в success ajax заменяете свой список товаров на полученный...