Skip to content

Свой сайт знакомств #10: фильтры анкет и поиск (образование, религия, рост, вес, профессия, курение)

Разработка фильтров поиска в сайте знакомств: образование, религия, дети и тип отношений.

Key Takeaways

  • Фильтры анкет — важный элемент сайта знакомств для точного поиска.
  • Обработка пустых и некорректных значений критична для стабильной работы фильтров.
  • Фильтрация по религии может быть полезной, но требует аккуратной реализации.
  • Множественный выбор в фильтрах (например, тип отношений) требует особой логики.
  • Разработка сайта знакомств требует постоянного тестирования и отладки кода.

What the video covers

  • Автор продолжает разработку сайта знакомств в реальном времени, фокусируясь на фильтрах анкет.
  • Рассматривается проблема с фильтрацией по образованию и религиозным убеждениям.
  • Показывается работа с базой данных и внутренним интерфейсом для поиска анкет.
  • Обсуждается логика обработки пустых значений и корректная работа фильтров.
  • Добавляется фильтр по религии с несколькими вариантами выбора (православие, ислам и др.).
  • Автор исправляет ошибки в коде, связанные с именами полей и значениями фильтров.
  • Обсуждается возможность фильтрации пользователей по религии и её уместность на сайте знакомств.
  • Рассматривается реализация фильтра по типу отношений с несколькими чекбоксами.
  • Показывается тестирование фильтров на примере реальных анкет из базы данных.
  • Автор планирует дальнейшее улучшение и оптимизацию фильтров.

Answers

Questions about this video

Почему важно фильтровать анкеты по образованию и религии?

Фильтрация по этим параметрам помогает пользователям находить более совместимых партнёров, учитывая их личные предпочтения и ценности.

Как обрабатываются пустые значения в фильтрах?

Пустые значения игнорируются в запросах, чтобы не ломать логику поиска и корректно отображать результаты.

Стоит ли фильтровать пользователей по религии на сайте знакомств?

Автор считает, что это нормальная практика, так как у каждого свои критерии выбора, и такой фильтр может помочь пользователям.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Добрый день, дорогие подписчики! Рад вас приветствовать на новой серии проекта "Свой сайт знакомств", где мы с вами в режиме реального времени разрабатываем свой дейтинг-сервис.
00:21
Speaker A
Так, в прошлый раз мы с вами остановились на фильтрации, и, по-моему, у нас была проблема с религиозными убеждениями. Я сейчас открою, а получается, страничку поиска.
00:42
Speaker A
Вот, кто не смотрел прошлый выпуск, обязательно посмотрите, чтобы понять, что вообще происходит и зачем мы это всё делаем.
01:10
Speaker A
Так, да, да, кажется, последнее. Вот что я тут прописывал — это были религиозные убеждения. Нет, на образование всё сломалось, потому что религиозное убеждение я не успел пока прописать.
01:29
Speaker A
То есть вот у нас что? У нас с вами была, получается, фильтрация, да, настроенная. Соответственно, по которой мы с вами... [музыка] и организуем фильтр по базе данных.
01:57
Speaker A
Вот база данных. Вот, соответственно, так выглядит внутренний интерфейс, и наша задача сейчас — вот эти кнопки все заставить работать.
02:31
Speaker A
Так, я на всякий случай обновлю страничку. Да, обновил. Нас выявились две женские анкеты, которые, соответственно, есть в базе данных. Всё нормально.
02:57
Speaker A
Но только я начинаю задавать какой-то фильтр, у нас с вами всё ломается почему-то.
03:22
Speaker A
Да, ну давайте я переделаю. Угу, поиск. А нет, ничего не сломалось, религиозное убеждение, то есть всё в порядке, всё работает.
03:51
Speaker A
Если поставлю "нет детей" и, допустим, образование скину, то сломается.
04:15
Speaker A
Да, значит, что? Значит, вкладом должны каким-то образом проигнорировать.
04:45
Speaker A
Да, давайте так и сделаем, то есть по умолчанию, если у нас будет выбрано так, если ИТ-образование и образование не равно образованию, значит...
05:12
Speaker A
Вот, если образование не равно... не равно чему? Вот какое у нас это значение возвращается тут?
05:37
Speaker A
Так, селект образования — нет. Давайте лучше я в коде посмотрю.
06:14
Speaker A
Так, у нас есть образование, и если образование не равняется пустому значению, то мы с вами его [музыка] просчитываем.
06:41
Speaker A
Так, ещё раз давайте "нет" уберём галочку.
07:10
Speaker A
Ну, а такое ощущение, что вот в образовании какое-то UE у нас возвращается, поэтому что? Поэтому давайте я побегу наверх и посмотрю, что у нас а возвращает.
07:41
Speaker A
Вот первая вкладка образование. Так, где она? Вот образование option.
08:07
Speaker A
Давайте мы первому значению, чтобы, соответственно, у нас ничего не возвращалось дальше.
08:45
Speaker A
И аналогично в религиозных убеждениях у нас тоже будет пустота на всякий случай вот первоначально.
09:06
Speaker A
А дальше уже мы будем смотреть.
09:30
Speaker A
Так, и что ещё? Какие ещё пункты есть?
09:56
Speaker A
Ну, всё. Так, я сохранился. Дальше что? Обновляю.
10:42
Speaker A
Нет, я просто хочу обновить страницу без всего.
11:14
Speaker A
Так, Марина, хорошо, замечательно. Ставим диапазон где-то 25 лет. У нас две анкеты должны сохраниться.
11:37
Speaker A
Да, они сохраняются. Ставлю галочку "нет детей". У нас с вами пропадает Маша, у которой есть дети.
12:06
Speaker A
Убираю галочку — две анкеты отрабатывают.
12:26
Speaker A
И давайте одну из девушек мы что сделаем? Мы, например, поставим выше образование, и соответственно что?
12:59
Speaker A
Соответственно, Марина со средним общим должна пропасть.
13:22
Speaker A
Так, выше ставлю, нажимаю поиск.
13:54
Speaker A
Да, осталась только Маша, и соответственно, если я тут что сделаю?
14:26
Speaker A
Так, если я тут поставлю снова образование, то у нас эта вкладочка...
14:46
Speaker A
Да, две анкеты вернулись. Всё замечательно.
15:14
Speaker A
Дальше у нас с вами религиозное убеждение.
15:41
Speaker A
Так, так, так, так, давайте так. Тут у нас есть следующее религиозное убеждение по умолчанию.
16:16
Speaker A
А такое значит значение в базе данных религия у нас вот выглядит такая ячейка.
16:44
Speaker A
Угу, так тут, наверное, мы с вами будем использовать ту же кодовую базу, которая и была у нас до этого.
17:25
Speaker A
То есть что? То есть я вот это вот возьму сейчас образование, переделаю просто под религию. Раз, два.
17:54
Speaker A
Потом по умолчанию мы задали вот этот так selected убрали.
18:21
Speaker A
Дальше вставляем что? Вставляем, соответственно, мы вот такое вот значение — вот православие.
18:57
Speaker A
А дальше берём, что нет, переменная у нас называться уже будет религия вот таким вот образом.
19:39
Speaker A
А значит, тут у нас тоже переменная должна быть религия, и мы возьмём отсюда православие.
20:27
Speaker A
Вот так вот мы его разместим, может быть. Да, можно придумать какую-то другую механику более грамотную, да более простую, но мне кажется, что поскольку нам нужно максимально быстро получить результат, то в пять вариантов из возможных мы можем вставить и такое решение.
20:55
Speaker A
Ничего страшного не произойдёт.
21:26
Speaker A
Что мы с вами делали? Мы с вами, по-моему, в настройках использовали массив, да, да, когда реализовывали настройки этого пункта.
21:50
Speaker A
Ну вот тут, ладно, тут таким образом сделаем пока. В крайнем случае всегда можно переделать, то есть никаких трудностей в этом нету на самом деле.
22:17
Speaker A
Вот и вообще будет врем отдельную вкладку, кажется, это будет самое оптимальное решение.
22:48
Speaker A
Так, ну всё, тут у нас всё готово.
23:09
Speaker A
Так, религия, религия.
23:35
Speaker A
Так, сравниваем, проверяем. Супер, хорошо.
24:13
Speaker A
Так, сохраним.
24:47
Speaker A
Дальше что? Дальше нам нужно будет прописать, получается, скрипт внизу уже в самих данных.
25:21
Speaker A
Ой, не в самой базе данных, а в SQL-запросе. Где он у нас тут?
26:23
Speaker A
Ниже, ниже, бежим.
26:52
Speaker A
Да, да, да, да, вот тут, вот где-то.
27:09
Speaker A
То есть у нас есть пол, у нас есть образование.
28:01
Speaker A
Вот, и мы соответственно тут с вами пропишем оба параметра религия.
28:30
Speaker A
Как вы думаете, нормальная практика на сайте знакомств людей фильтровать по религии или лучше так не делать?
29:00
Speaker A
Ну, ну, наверное, да. Мне кажется, всё-таки у каждого свои какие-то критерии, представление о прекрасном.
29:20
Speaker A
Поэтому если мы можем дать такой функционал, почему бы его не дать?
29:43
Speaker A
Так, замечательно.
30:09
Speaker A
Давайте мы сейчас одной из девушек...
30:43
Speaker A
Вот какие у нас там были варианты? Я уже не помню.
31:16
Speaker A
Так, вот религиозная одна у нас будет, допустим, православие, а вторая ислам.
31:40
Speaker A
Так, православие.
32:07
Speaker A
Так, а следующая девушка у нас будет та, где у нас вот вот вот редактор ислам. Всё замечательно.
32:47
Speaker A
Так, у нас сейчас две анкеты открыты.
33:21
Speaker A
Давайте я на всякий случай нажму сейчас ещё раз в поиск.
33:54
Speaker A
Вот, да, две анкеты сохранились.
34:14
Speaker A
Ставим православие. А нет, почему-то он наш скрипт не отработал как нужно.
34:47
Speaker A
Хорошо, так...
35:07
Speaker A
[музыка]
35:32
Speaker A
Религия, религия.
36:06
Speaker A
Угу, где-то возможно опечатка.
36:32
Speaker A
У нас есть сверху.
36:48
Speaker A
Давайте смотреть, там возможно нет просто замены какой-то.
37:17
Speaker A
Да, value, так религия.
37:58
Speaker A
То есть если такой параметр поступил, дальше мы записываем в переменную религия.
38:20
Speaker A
Также пишется религия.
38:44
Speaker A
Дальше проставляет.
39:16
Speaker A
Так, ещё раз нажал на поиск.
39:41
Speaker A
Всё сохранилось.
40:08
Speaker A
Выберем православие.
40:52
Speaker A
Да, у нас почему-то вот тут не подхватывает православие.
41:29
Speaker A
Так, религия.
41:56
Speaker A
Так, почему-то эта штука не отрабатывает как нужно, а она должна отрабатывать.
42:29
Speaker A
Так, религия.
42:50
Speaker A
А я, наверное, поле да не переименовал правильно.
43:17
Speaker A
Конечно, конечно.
43:51
Speaker A
У нас же вот это поле оно не имеет имени пока в данный момент.
44:25
Speaker A
Нужно это исправить, то есть мы просто не знаем, какой параметр подхватывать, какой выхватывать.
44:56
Speaker A
Соответственно, у нас этот пункт не работает.
45:19
Speaker A
Так, давайте обновим страничку ещё раз.
45:37
Speaker A
Так, две анкеты есть, замечательно.
45:58
Speaker A
Выставим, наверное, вот где-то 25.
46:17
Speaker A
У нас тут был, да?
46:39
Speaker A
Нажимаем поиск.
47:05
Speaker A
Дальше что? Религиозное убеждение.
47:28
Speaker A
Ставлю православие, поиск.
47:53
Speaker A
Осталась Марина.
48:11
Speaker A
Ставлю ислам, должна Маша да остаться.
48:33
Speaker A
Осталась Маша, замечательно.
49:01
Speaker A
Тип отношений, которые у нас есть, я предлагаю что сделать?
49:27
Speaker A
Я предлагаю, наверное, посмотреть вкладку "Мои данные", что мы с вами там уже делали.
49:58
Speaker A
Так, романтические отношения, дружба, брак и так далее.
50:20
Speaker A
А то есть мы там с вами прописывали следующие параметры.
50:50
Speaker A
А, так, так, так.
51:11
Speaker A
А что если у нас стоит три галочки типа отношений? Может быть вообще этот параметр убрать?
51:38
Speaker A
Ну хорошо, давайте продумаем, каким образом это можно реализовать.
52:14
Speaker A
Так, в базе данных тип отношений вот таким вот образом у нас с вами он прописывается.
52:43
Speaker A
Осталось только понять, как этот параметр будет отрабатывать на PHP, если у нас отмечено сразу несколько параметров.
53:20
Speaker A
А мы же всё... всё, я всё понял.
53:49
Speaker A
У нас смотрите, у нас же тут каждый инпут имеет отдельный, получается, чекбокс.
54:12
Speaker A
Мы можем сделать тип отношений дружба, раз, тип отношений романтические отношения, тип отношений брак.
54:43
Speaker A
Всё, всё.
55:15
Speaker A
То есть вот у нас есть.
55:44
Speaker A
Давай таким вот образом копируем.
56:13
Speaker A
Так, соответственно, просто они будут отличаться именами.
56:42
Speaker A
Так, это у нас будет тип отношений один, например, да, или дружба.
57:09
Speaker A
Мы же можем написать дружба? Нет, не так.
Topics:сайт знакомствфильтры поискаобразованиерелигиядетитип отношенийPHPSQLразработкадейтинговый сервис

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →