Имеется два объекта - это HTML.
Кликаешь по одному из них и открывается ещё 7. Это JavaScript (причём данные уже имеются в HTML-странице).
Кликаешь по одному из семи и открывается ещё 50. Это тоже JavaScript, только данные желательно брать с сервера, т.к. если на каждую кнопку по 50 - это 700 штук получается - много. Берётся с сервера без перезагрузки страницы - AJAX.
Выборка из базы данных идёт на PHP. Обычно запросы вида "SELECT * FROM `table_name` WHERE `text` LIKE '%текст_для_поиска%'.
Вернуть результаты можно с перезагрузкой страницы (что проще) или без неё - AJAX (что немного сложнее).
В общем, нужно знать довольно много всего

Но если знаешь, то можно написать за пару часов
(знаешь как свои три пальца - напишешь быстрее) + время на отладку.
Если интересуют подробности, спрашивай
(те).
Но ссылки искать вряд ли буду 