$adv[1]
не существует и проверку на то, что возвращает запрос. while ($adv_query = mysqli_fetch_array($adv_db))
$adv_db
<button class="btn class1"></button>
$(document).on('click', '.btn', function() {
проверяем текущий класс или атрибут (data) и выполняем необходимые действия.
});
$(document).on('click', '.class1', function() {
выполняем необходимые действия
});
$(document).on('click', '.class2', function() {
выполняем необходимые действия
});
при смене класса так работать не будет, если на момент инициализации в дом дереве не было класса class1
$('.class1').on('click', function() {
});
И проверка наличия параметров в if с главного поста неудобна, лучше такое оформить в некий метод валидации.
Что если $_POST['gen-type'] будет равно 3, переменных не будет существовать, возможно их лучше вынести за пределы if
Примерно так: