Небольшой оффтоп. Уже сложилась практика создания структуры категорий в виде Продажа-Квартиры, Продажа-Комнаты, Аренда-Квартиры, ... Т.е объединения в одно целое различных понятий - типа недвижимости и вида операции с ней. имхо - это плохая практика. Ведь недаром стараются вести отдельно параметры жилой и общей площади. С ними тогда значительно удобнее работать, сравнивать, фильтровать, чем со значениями вада ааа/ббб. Если все упирается в создание меню навигации в виде выпадающих списков, то затраты от разработки такого меню не есть больше минусов от содержаний структуры в виде смешанных понятий. Теперь чисто теоретически. Имеем таблицу re_data, re_topic, re_rubrika (объявления, типы недвижимости, рубкрики (как-то Продам, Сдам, Сниму)). Как получить сводную матрицу количеств обїявлений: $ads_count_matrix=array();$DBC=DBC::getInstance();$query='SELECT COUNT( d.id ) AS dcount , t.name AS tname, r.name AS rnameFROM re_data dLEFT JOIN re_topic t ON d.topic_id = t.idLEFT JOIN re_rubrika r ON d.rubrika_id = r.rubrika_id WHERE d.active=1GROUP BY d.topic_id, d.rubrika_id';$stmt=$DBC->query($query);if($stmt){ while($ar=$DBC->fetch($stmt)){ $ads_count_matrix[]=$ar; }}В результате мы получаем массив вида: [0][dcount]='10'[0][tname]='Квартиры'[0][rname]='Продам'[1][dcount]='2'[1][tname]='Комнаты'[1][rname]='Продам'[2][dcount]='1'[2][tname]='Квартиры'[2][rname]='Сдам'[3][dcount]='0'[3][tname]='Комнаты'[3][rname]='Сдам'...Дальше уже дело техники. Либо скинуть этот массив в шаблон и там его просто вывести, либо в контроллере обработать его дополнительно - упорядочить по рубрикам, типам и тогда уже скинуть в шаблон для вывода. Если рубрики\категории слиты в единую структуру, то принципиально решение будет похожим, но будет больше мороки с упорядочиванием, так как надо будет вычислить какие типы в какие рубрики входят и свести их.