Разработка фильтров поиска в сайте знакомств: образование, религия, дети и тип отношений.
Key Takeaways
- Фильтры анкет — важный элемент сайта знакомств для точного поиска.
- Обработка пустых и некорректных значений критична для стабильной работы фильтров.
- Фильтрация по религии может быть полезной, но требует аккуратной реализации.
- Множественный выбор в фильтрах (например, тип отношений) требует особой логики.
- Разработка сайта знакомств требует постоянного тестирования и отладки кода.
What the video covers
- Автор продолжает разработку сайта знакомств в реальном времени, фокусируясь на фильтрах анкет.
- Рассматривается проблема с фильтрацией по образованию и религиозным убеждениям.
- Показывается работа с базой данных и внутренним интерфейсом для поиска анкет.
- Обсуждается логика обработки пустых значений и корректная работа фильтров.
- Добавляется фильтр по религии с несколькими вариантами выбора (православие, ислам и др.).
- Автор исправляет ошибки в коде, связанные с именами полей и значениями фильтров.
- Обсуждается возможность фильтрации пользователей по религии и её уместность на сайте знакомств.
- Рассматривается реализация фильтра по типу отношений с несколькими чекбоксами.
- Показывается тестирование фильтров на примере реальных анкет из базы данных.
- Автор планирует дальнейшее улучшение и оптимизацию фильтров.
Chapters
- 00:00Введение и обзор предыдущего выпуска
- 01:10Проблемы с фильтрацией по образованию и религии
- 02:30Тестирование фильтров и работа с базой данных
- 05:10Обработка пустых значений и исправление ошибок
- 09:10Добавление фильтра по религии
- 18:30Отладка и тестирование религиозного фильтра
- 49:00Обсуждение уместности фильтрации по религии
Full Transcript — Download SRT & Markdown
Speaker A
Добрый день, дорогие подписчики! Рад вас приветствовать на новой серии проекта "Свой сайт знакомств", где мы с вами в режиме реального времени разрабатываем свой дейтинг-сервис.
Speaker A
Так, в прошлый раз мы с вами остановились на фильтрации, и, по-моему, у нас была проблема с религиозными убеждениями. Я сейчас открою, а получается, страничку поиска.
Speaker A
Вот, кто не смотрел прошлый выпуск, обязательно посмотрите, чтобы понять, что вообще происходит и зачем мы это всё делаем.
Speaker A
Так, да, да, кажется, последнее. Вот что я тут прописывал — это были религиозные убеждения. Нет, на образование всё сломалось, потому что религиозное убеждение я не успел пока прописать.
Speaker A
То есть вот у нас что? У нас с вами была, получается, фильтрация, да, настроенная. Соответственно, по которой мы с вами... [музыка] и организуем фильтр по базе данных.
Speaker A
Вот база данных. Вот, соответственно, так выглядит внутренний интерфейс, и наша задача сейчас — вот эти кнопки все заставить работать.
Speaker A
Так, я на всякий случай обновлю страничку. Да, обновил. Нас выявились две женские анкеты, которые, соответственно, есть в базе данных. Всё нормально.
Speaker A
Но только я начинаю задавать какой-то фильтр, у нас с вами всё ломается почему-то.
Speaker A
Да, ну давайте я переделаю. Угу, поиск. А нет, ничего не сломалось, религиозное убеждение, то есть всё в порядке, всё работает.
Speaker A
Если поставлю "нет детей" и, допустим, образование скину, то сломается.
Speaker A
Да, значит, что? Значит, вкладом должны каким-то образом проигнорировать.
Speaker A
Да, давайте так и сделаем, то есть по умолчанию, если у нас будет выбрано так, если ИТ-образование и образование не равно образованию, значит...
Speaker A
Вот, если образование не равно... не равно чему? Вот какое у нас это значение возвращается тут?
Speaker A
Так, селект образования — нет. Давайте лучше я в коде посмотрю.
Speaker A
Так, у нас есть образование, и если образование не равняется пустому значению, то мы с вами его [музыка] просчитываем.
Speaker A
Так, ещё раз давайте "нет" уберём галочку.
Speaker A
Ну, а такое ощущение, что вот в образовании какое-то UE у нас возвращается, поэтому что? Поэтому давайте я побегу наверх и посмотрю, что у нас а возвращает.
Speaker A
Вот первая вкладка образование. Так, где она? Вот образование option.
Speaker A
Давайте мы первому значению, чтобы, соответственно, у нас ничего не возвращалось дальше.
Speaker A
И аналогично в религиозных убеждениях у нас тоже будет пустота на всякий случай вот первоначально.
Speaker A
А дальше уже мы будем смотреть.
Speaker A
Так, и что ещё? Какие ещё пункты есть?
Speaker A
Ну, всё. Так, я сохранился. Дальше что? Обновляю.
Speaker A
Нет, я просто хочу обновить страницу без всего.
Speaker A
Так, Марина, хорошо, замечательно. Ставим диапазон где-то 25 лет. У нас две анкеты должны сохраниться.
Speaker A
Да, они сохраняются. Ставлю галочку "нет детей". У нас с вами пропадает Маша, у которой есть дети.
Speaker A
Убираю галочку — две анкеты отрабатывают.
Speaker A
И давайте одну из девушек мы что сделаем? Мы, например, поставим выше образование, и соответственно что?
Speaker A
Соответственно, Марина со средним общим должна пропасть.
Speaker A
Так, выше ставлю, нажимаю поиск.
Speaker A
Да, осталась только Маша, и соответственно, если я тут что сделаю?
Speaker A
Так, если я тут поставлю снова образование, то у нас эта вкладочка...
Speaker A
Да, две анкеты вернулись. Всё замечательно.
Speaker A
Дальше у нас с вами религиозное убеждение.
Speaker A
Так, так, так, так, давайте так. Тут у нас есть следующее религиозное убеждение по умолчанию.
Speaker A
А такое значит значение в базе данных религия у нас вот выглядит такая ячейка.
Speaker A
Угу, так тут, наверное, мы с вами будем использовать ту же кодовую базу, которая и была у нас до этого.
Speaker A
То есть что? То есть я вот это вот возьму сейчас образование, переделаю просто под религию. Раз, два.
Speaker A
Потом по умолчанию мы задали вот этот так selected убрали.
Speaker A
Дальше вставляем что? Вставляем, соответственно, мы вот такое вот значение — вот православие.
Speaker A
А дальше берём, что нет, переменная у нас называться уже будет религия вот таким вот образом.
Speaker A
А значит, тут у нас тоже переменная должна быть религия, и мы возьмём отсюда православие.
Speaker A
Вот так вот мы его разместим, может быть. Да, можно придумать какую-то другую механику более грамотную, да более простую, но мне кажется, что поскольку нам нужно максимально быстро получить результат, то в пять вариантов из возможных мы можем вставить и такое решение.
Speaker A
Ничего страшного не произойдёт.
Speaker A
Что мы с вами делали? Мы с вами, по-моему, в настройках использовали массив, да, да, когда реализовывали настройки этого пункта.
Speaker A
Ну вот тут, ладно, тут таким образом сделаем пока. В крайнем случае всегда можно переделать, то есть никаких трудностей в этом нету на самом деле.
Speaker A
Вот и вообще будет врем отдельную вкладку, кажется, это будет самое оптимальное решение.
Speaker A
Так, ну всё, тут у нас всё готово.
Speaker A
Так, религия, религия.
Speaker A
Так, сравниваем, проверяем. Супер, хорошо.
Speaker A
Так, сохраним.
Speaker A
Дальше что? Дальше нам нужно будет прописать, получается, скрипт внизу уже в самих данных.
Speaker A
Ой, не в самой базе данных, а в SQL-запросе. Где он у нас тут?
Speaker A
Ниже, ниже, бежим.
Speaker A
Да, да, да, да, вот тут, вот где-то.
Speaker A
То есть у нас есть пол, у нас есть образование.
Speaker A
Вот, и мы соответственно тут с вами пропишем оба параметра религия.
Speaker A
Как вы думаете, нормальная практика на сайте знакомств людей фильтровать по религии или лучше так не делать?
Speaker A
Ну, ну, наверное, да. Мне кажется, всё-таки у каждого свои какие-то критерии, представление о прекрасном.
Speaker A
Поэтому если мы можем дать такой функционал, почему бы его не дать?
Speaker A
Так, замечательно.
Speaker A
Давайте мы сейчас одной из девушек...
Speaker A
Вот какие у нас там были варианты? Я уже не помню.
Speaker A
Так, вот религиозная одна у нас будет, допустим, православие, а вторая ислам.
Speaker A
Так, православие.
Speaker A
Так, а следующая девушка у нас будет та, где у нас вот вот вот редактор ислам. Всё замечательно.
Speaker A
Так, у нас сейчас две анкеты открыты.
Speaker A
Давайте я на всякий случай нажму сейчас ещё раз в поиск.
Speaker A
Вот, да, две анкеты сохранились.
Speaker A
Ставим православие. А нет, почему-то он наш скрипт не отработал как нужно.
Speaker A
Хорошо, так...
Speaker A
[музыка]
Speaker A
Религия, религия.
Speaker A
Угу, где-то возможно опечатка.
Speaker A
У нас есть сверху.
Speaker A
Давайте смотреть, там возможно нет просто замены какой-то.
Speaker A
Да, value, так религия.
Speaker A
То есть если такой параметр поступил, дальше мы записываем в переменную религия.
Speaker A
Также пишется религия.
Speaker A
Дальше проставляет.
Speaker A
Так, ещё раз нажал на поиск.
Speaker A
Всё сохранилось.
Speaker A
Выберем православие.
Speaker A
Да, у нас почему-то вот тут не подхватывает православие.
Speaker A
Так, религия.
Speaker A
Так, почему-то эта штука не отрабатывает как нужно, а она должна отрабатывать.
Speaker A
Так, религия.
Speaker A
А я, наверное, поле да не переименовал правильно.
Speaker A
Конечно, конечно.
Speaker A
У нас же вот это поле оно не имеет имени пока в данный момент.
Speaker A
Нужно это исправить, то есть мы просто не знаем, какой параметр подхватывать, какой выхватывать.
Speaker A
Соответственно, у нас этот пункт не работает.
Speaker A
Так, давайте обновим страничку ещё раз.
Speaker A
Так, две анкеты есть, замечательно.
Speaker A
Выставим, наверное, вот где-то 25.
Speaker A
У нас тут был, да?
Speaker A
Нажимаем поиск.
Speaker A
Дальше что? Религиозное убеждение.
Speaker A
Ставлю православие, поиск.
Speaker A
Осталась Марина.
Speaker A
Ставлю ислам, должна Маша да остаться.
Speaker A
Осталась Маша, замечательно.
Speaker A
Тип отношений, которые у нас есть, я предлагаю что сделать?
Speaker A
Я предлагаю, наверное, посмотреть вкладку "Мои данные", что мы с вами там уже делали.
Speaker A
Так, романтические отношения, дружба, брак и так далее.
Speaker A
А то есть мы там с вами прописывали следующие параметры.
Speaker A
А, так, так, так.
Speaker A
А что если у нас стоит три галочки типа отношений? Может быть вообще этот параметр убрать?
Speaker A
Ну хорошо, давайте продумаем, каким образом это можно реализовать.
Speaker A
Так, в базе данных тип отношений вот таким вот образом у нас с вами он прописывается.
Speaker A
Осталось только понять, как этот параметр будет отрабатывать на PHP, если у нас отмечено сразу несколько параметров.
Speaker A
А мы же всё... всё, я всё понял.
Speaker A
У нас смотрите, у нас же тут каждый инпут имеет отдельный, получается, чекбокс.
Speaker A
Мы можем сделать тип отношений дружба, раз, тип отношений романтические отношения, тип отношений брак.
Speaker A
Всё, всё.
Speaker A
То есть вот у нас есть.
Speaker A
Давай таким вот образом копируем.
Speaker A
Так, соответственно, просто они будут отличаться именами.
Speaker A
Так, это у нас будет тип отношений один, например, да, или дружба.
Speaker A
Мы же можем написать дружба? Нет, не так.
Topics:сайт знакомствфильтры поискаобразованиерелигиядетитип отношенийPHPSQLразработкадейтинговый сервис











