**Свой сайт знакомств #8: связываем форму-анкету с базой данных PHP, SQL, HTML, Bootstrap — Transcript & Summary | SozAI**
Source: https://sozai.app/transcript/dating-site-form-database-php-sql-bootstrap/

Разработка сайта знакомств: связываем форму анкеты с базой данных на PHP и SQL, используя HTML и Bootstrap.

## Key Takeaways

- Правильное использование SQL-запросов UPDATE для сохранения данных формы в базу.
- Заполнение формы данными из базы для удобного редактирования пользователем.
- Интеграция данных из разных таблиц и проектов для расширения функционала.
- Важность точного соответствия имен переменных PHP и полей базы данных.
- Предоставление исходных скриптов и материалов для самостоятельного повторения урока.

## What the video covers

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

## Chapters

1. 00:00 Введение и обзор предыдущей формы
2. 03:42 Исправление запроса и подготовка к обновлению данных
3. 07:37 Тестирование скрипта обновления местоположения
4. 10:41 Работа с таблицей местоположений и интеграция данных
5. 14:38 Настройка заполнения формы и обработка данных
6. 18:51 Добавление и обновление параметров анкеты
7. 26:10 Отладка и проверка сохранения данных в базе
8. 32:10 Заключение и предоставление материалов для подписчиков

Answers

## Questions about this video

Как связать форму анкеты с базой данных в PHP?

Необходимо использовать SQL-запросы типа UPDATE для обновления данных в таблице базы данных при отправке формы. Важно правильно получать идентификатор пользователя и подставлять переменные из формы в запрос.

Как заполнить форму начальными данными из базы данных?

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

Можно ли использовать данные из другого проекта для списка городов?

Да, автор использует таблицу с городами из другого проекта на канале, чтобы не создавать новую таблицу, что упрощает и ускоряет разработку.

## Full Transcript — Download SRT & Markdown

00:00

Speaker A

Добрый день, дорогие подписчики! Рад вас приветствовать на новой серии своего сайта знакомств, где мы в режиме реального времени разрабатываем соответственно свой дейтинг-сервис. В прошлый раз мы с вами остановились на вот этой форме. Она у нас не сохраняла данные, потому что использовали неправильный метод добавления информации в базу данных. Вот ошиблись. А сейчас что? Сейчас у нас есть, получается, вот эта формочка, в которой у нас сохраняются данные, и при нажатии на сохранить они должны отправляться в базу данных. Давайте посмотрим, что у нас есть.

00:20

Speaker A

Я уже залогинился, получается, как юзер вот под этим аккаунтом. Мне возвращается его идентификатор, и что мы попробуем сделать сейчас? Мы попробуем, давайте, вот эту формочку немножко переделать. То есть нам, что нам неплохо было бы сейчас, пролезть в базу данных, получить оттуда информацию и заполнить первоначальными данными соответственно нашу табличку. Давайте это сделаем. То есть что? Мы сейчас отправим запрос в базу данных, та где он у нас тут? Давайте найм. То есть нам вот вот этот вот, да? Ну я целиком как пример скопирую, а дальше уже будем расставлять данные. Так, так, идём ещё раз. У нас есть, получается, вот такой пример обращения к базе данных. Я ещё раз на всякий случай вот это скопирую. Так, и разме после добавления в БД вот у нас апдейт должен отработать. Всё. Так, разместил тут. Значит, в какую табличку мы отправляем данные? Мы отправляем вот, да, таблица User. Замечательно. Где аэ? Но будем искать уже по идентификатору. То есть у нас есть вот User ID. Давайте по нему мы и произведём поиск.

00:45

Speaker A

Так, переменную назовём ID User. Так, так, так. Тут у нас что? Тут у нас ID User. Берём название переменной, подставляем вот сюда. Данные мы с вами получаем. Вот сейчас нужно будет произвести заполнение всей этой информации, которая у нас есть ниже.

01:07

Speaker A

Так, идём дальше. Местоположение, местоположение. Давайте так. Если нет, так мы сейчас возьмём, наверное, переменную местоположения. Или мы же сверху описывали вот эту всю? Да, мы описывали. Давайте мы просто вот всю эту информацию возьмём и запишем из базы данных вот эту вот всю информацию, которая есть у нас вот так, чтобы потом заполнить всё вот данными, которые будут у нас в селекте на страничке.

01:36

Speaker A

Так, местоположение. Тут что? Тут мы меняем, получается, запрос пост на ро и проделаем это всё таким же образом.

02:04

Speaker A

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

02:31

Speaker A

Так, дальше образование. Замечательно. Нет, вот образование как раз-таки мы тоже заменим. Религию тоже заменяем. Так, тип отношений заменяем, рост заменяем, вес, профессию заменяем. Посмотрите прошлый урок, там ВС это разобрано подробно.

03:09

Speaker A

Так, дальше что? Переменная курит? Да, у нас должна подхватываться из базы данных. То есть это будет вот таким вот образом выглядеть. То есть значение мы с вами должны получить. Дальше так. И переменная пьёт. Мы также, да, её сделаем, также оформим соответственно при заполнении в базе данных. Мы это всё тоже исправим.

03:42

Speaker A

Так, убираем, ставим всё. Ну вроде все данные подхватили. Не знаю. Ну сейчас задача какая? Заставить эту форму заполняться и переписать верхний запрос. То есть у нас был ирт запрос, это в корне неверно. Вот мы перепишем его на апдейт, проверим в самом начале на местоположения. То есть местоположения у нас должно отрабатывать. Давайте я вот эту строчку наверх перемещу. У нас с вами перезаписывать это уже будет неплохо.

04:09

Speaker A

Так, нет, я вот сверху её возьму вот так вот перед всеми нашими внутренними скриптами, чтобы один раз просто отправить, чтобы в общем один раз эту замену производить. Вот так. То есть при нажатии на кнопку мы отправим запрос update в базу данных, и соответственно что произойдёт? И мы заменим местоположение. Сейчас что у нас переменная местоположение есть? Давайте мы её просто, то есть напишем такую обработку, которая бы позволяла это всё реализовать. А подождите, у нас нет возможности. Да, у нас нет, получается, сейчас чего? Таблички, в которой хранилось бы все города. Угу.

04:42

Speaker A

Так, ну что? Ну мы можем воспользоваться в принципе базой какого-то прошлого... Да, видео. Давайте мы это и сделаем. То есть я сейчас пока сохраню. У нас же задача оживить наш вот этот селект. Я повторно не буду писать скрипт обработчика. А у нас есть ещё параллельно на канале проект. Какой проект? Где мы делаем свою доску объявлений, и там мы с городами уже сталкивались. Вот он. То есть тут у нас что? У нас есть, получается, скрипт город, да, с помощью которого мы отправляем информацию в базу данных. Вот, и всё у нас заполняется нормально, и есть даже список городов.

05:18

Speaker A

Вот, давайте мы сейчас просто, получается, той информацией воспользуемся. Кстати, для подписчиков на бусте я что сделаю? Я обязательно прикреплю ссылку на этот скрипт. Ну а если вам интересно всё делать своими руками, посмотрите тот выпуск. Я ссылочку также приложу в описании. То есть достаточно будет сделать минимальные правки, чтобы у вас всё заработало.

05:54

Speaker A

Так, потом не хочу тратить там 40 минут на то, чтобы заставить это всё работать. Нам проще, что нам проще? Переделать уже готовый скрипт. Тут у нас что? Как у нас называлась там табличка? Я уже не помню. Вот, дадада, такое. Ну давайте мы также и назовём. То есть нам что? Нам нужна новая табличка. Мы её назовём GE. Дальше что? Тип первый это ID, я так понимаю, будет. Дальше текстовой.

06:16

Speaker A

Какие там вообще данные мы передавали? Гео. Так, так, так. Город, в городе и л л нам скорее всего не понадобится, но мы на всякий случай его добавим. Город. Дальше в городе, в городе и URL поставим. Так, тут тоже текст, тут тоже текст.

06:44

Speaker A

Ну вроде бы всё. Так, атрибуты какие поставим? Обязательно primary, индекс и... Ну вроде всё. Да. Хорошо. Если чего-то не будет хватать, мы соответственно это с вами исправим. А подождите, у нас же есть таблица местоположения. Вот же она же есть. Зачем нам е одну? Нет, мы вот эту таблицу давайте убираем. Сейчас структура. Нет, снова иду. То есть у нас просто таблица по-другому называется. А я забыл, что она уже называется, что она у нас есть. Значит, замечательно. У нас есть таблица местоположения, и вот давайте мы эту табличку что сделаем? Мы просто переделаем наш скрипт. Вот эту таблицу это всё легко правится. Так, то есть местоположения. Дальше тут мы закидываем в базу данных тоже местоположение. Уже будет, кстати, изменённый скрипт. Также я выложу.

07:09

Speaker A

Да, я целиком выложу всю папку на бусте, чтобы вам было проще, чтобы вот на такие тех моменты время не тратили. И дальше что? И дальше подменю получается подключение к новой базе данных уже вот, и всё должно отработать замечательно.

07:37

Speaker A

Так, сохранить. Пробуем запустить. То есть какой у нас адрес будет? Адрес получается вот вот этот домен, и к нему я записываю New город, New город, то PHP. Всё, нажал. Сейчас что? Сейчас бежим скрипт местоположения. Да, всё добавилось.

08:00

Speaker A

Единственное, что единственно у нас Москва почему-то нет. Ну ладно. Да, давайте я уберу крестиком этот город. Всё. Дальше что? Дальше мы соответственно можем уже прописать вот это заполнение для нашего селекта.

08:26

Speaker A

Так, мои данные. Идём снова сюда. Так, Session ID мы, наверное, можем убрать. Он нам не нужен. Да, данные подключаются. ID юзера есть. Так, заполнение нашего селекта тут нужно организовать сейчас. То есть понятно, что переменная местоположение. Да, но, но, но, но сейчас секундочку.

08:46

Speaker A

Так, тут мы что с вами сделаем? Тут мы с вами должны подключиться к табличке и вытащить оттуда основные параметры, которые есть, и соответственно выводить информацию, и потом по этой информации уже что-то там выводить, реализуем.

09:11

Speaker A

Так, S местоположение, так, местоположение. Вот никаких-то параметров мы не ставим, чтобы получить полную выборку. Дальше хоп-хоп-хоп. Всё. Тут, наверное, мы... Нет, мы скрипт не будем закрывать. Тут мы можем уже дописывать различные условия. То есть если получается, что если... А если у нас текущее переменное местоположения, вот местоположение равняется элементу какому value, да? Вот получается массиву row, которую мы возвращаем, и у нас там прописано то же самое местоположение. Всё-таки надо было попроще нейминг использовать. То тогда что? Тогда мы выводим с вами вот эту вот переменную так selected, да? Что... [музыка] Угу. Так, внутри нужно будет зашить, получается, что зашить вот это вот.

09:31

Speaker A

какие там вообще данные мых передавали гео так так так город в городе и л л нам скорее всего не понадобится но мы на всякий случае его добавим город дальше в городе в городе и URL поставим так тут тоже текст тут тоже текст

10:00

Speaker A

Ну вроде бы всё так атрибуты Какие поставим обязательно primary индекс и Ну вроде всё да Хорошо если чего-то не будет хватать мы соответственно это с вами исправим а подождите у нас же есть таблица местоположения Вот же она же есть зачем

10:26

Speaker A

нам е одну Нет мы вот эту таблицу Давайте убираем сейчас структура нет снова иду То есть у нас просто таблица по-другому называется А я забыл что она уже называется что она у нас есть значит замечательно У нас есть

10:41

Speaker A

таблица местоположения и вот давайте мы эту табличку что сделаем мы просто переделаем наш скрипт вот эту таблицу это всё легко правится так то есть местоположения дальше тут мы закидываем в базу данных тоже местоположение уже будет кстати изменённый скрипт также я выложу

11:03

Speaker A

Да я целиком выложу всю папку на бусте чтобы вам было проще чтобы вот на такие тех моменты время не тратили и дальше что и дальше под меню получается подключение к новой базе данных уже вот и всё должно отработать

11:24

Speaker A

замечательно Так сохранить пробуем запустить то есть какой у нас адрес будет адрес получается вот вот этот домен и к нему Я записываю New город New город то PHP всё нажал сейчас что сейчас бежим скрипт местоположения Да всё добавилось

11:54

Speaker A

Единственное что единственно у нас Москва почему-то е нет Ну ладно да давайте я уберу крестиком этот город Всё дальше Что Дальше мы соответственно можем уже прописать Вот это заполнение для нашего селекта так мои данные идём снова сюда так Session ди мы наверное можем

12:24

Speaker A

убрать он нам не нужен да данные подключаются ID юзера есть так заполнение нашего селекта Тут нужно организовать сейчас то есть понятно что переменное местоположение Да но но но но сейчас секундочку так тут мы что с вами сделаем тут мы с вами

12:52

Speaker A

должны подключиться к табличке и вытащить оттуда основные параметры которые есть и соответственно выводить информацию и потом по этой информации уже что-то там выводить реализуем так S местоположение так местоположение Вот никаких до параметров мы не ставим чтобы получить полную

13:28

Speaker A

выборку дальше хоп-хоп-хоп Всё тут Наверное мы нет мы скрипт не будем закрывать тут мы можем уже дописывать различные условия То есть если получается что если а если у нас текущее переменное местоположения вот местоположение равняется элементу какому value Да вот получается массиву Роу

14:10

Speaker A

которую мы возвращаем и у нас там прописано то же самое местоположение всё-таки надо было попроще нейминг использовать то тогда что то тогда мы выводим с вами Вот эту вот переменную так selected да что [музыка] угу так внутри нужно будет зашить

14:38

Speaker A

получается что зашить вот это вот раз наверное двойные кавычки возьму да раз вот так вот так ставим вот таким вот образом раз таким же образом мы вставим сейчас вот сюда вот в наш value [музыка] Ага оборачиваем одинарные кавычки что

15:22

Speaker A

двойные у нас уже есть и будет получается выбор Select иначе элса Мы с вами уже выведем значение без value ой без селек Вот то есть целиком передаём название города в принципе можно было наверное идентификатор возвращать Да но ладно раз

15:55

Speaker A

уж мы с вами Так реализуем давайте делать таким образом Раз уж в базе данных мы прописываем город целиком пускай будет таким образом всё организовано А замечательно так сейчас что сейчас мы попробуем сохраниться и что мы меняем вопрос запрос на апдейт У нас

16:18

Speaker A

есть А замечательно так я сейчас что у нас сейчас никакой информации нету соответственно тут вот пустой value так посмотрим на код явно с ошибкой что-то у нас прописано так местоположение Select и они пустые и они пустые параметры почему-то неужели мы

16:43

Speaker A

ничего не получили из базы данных так местоположение дальше если местоположение равняется Нет конечно же не местоположению как он там город Да у нас город назывался просто город то есть данные в таблице фигурировали как город вот файл сохранить обновляю страницу Да вот нам

17:27

Speaker A

даётся первый памет какой мы город поставим Ну давайте вот мы не а базу мы Абакан поставим например и сохраним и посмотрим вообще будут ли изменения в базе данных так то есть идём в юзера где у нас тут город Да Абакан

17:48

Speaker A

прописался замечательно так дальше возраст ну с возрастом уже ситуация будет попроще возраст да то есть нам тут просто нужно будет прописать так поскольку я везде использовал одинаковый нейминг переменных то сделать это будет Ну просто да то есть Каким образом

18:20

Speaker A

Мы поступим я сейчас что я ввожу какую-то информацию отправляю запрос если информа то что то она отобразится соответственно Да и в базу данных на всякий случай тоже заглядываю чтобы проверять заполняется ли информация или нет А почему почему-то А у нас же всё я

18:51

Speaker A

понял у нас нету возраста тут сверху Ну давайте добавим То есть у нас же есть запрос Аде вот сет местоположения дальше что вот я не помню сет он как он через запятую описывается на всякий случай загляну апдейт да то

19:13

Speaker A

есть мы все параметры через запятую описываем То есть тут у нас что тут у нас должен быть уже возраст вобще получили А в базу данных она не попала очень странно так сохраняем так ещё раз давайте изменим на 29 на всякий случай и будем проверять

19:44

Speaker A

так сохраняем дальше идём в базу Да Окей мы ничего Нам ничего всё возраст сохранился идём дальше пол Какие параметры у нас пол возвращал пол пол пол Ну сейчас посмотрим что у нас там хранится во-первых а то есть мы получили

20:08

Speaker A

просто пост запрос с полом да А что у нас стоит а у нас стоит просто Да нет а из базы данных мы текстовой пол должны получить Правильно я понимаю да Тогда зачем нам вот этот выбор если мы могли просто сек

20:36

Speaker A

поставить а или у нас val возвращается да то есть у нас он вернётся в правильном виде всё хорошо тогда не переживаем Тогда нам просто нужно будет Дописать вот этот вот запрос на обновление то есть возраст раз у нас

20:56

Speaker A

готов так также мы допис пол я вот этот Нижний запрос буду кромсать и отсюда брать соответственно название параметров с которыми Будем дальше работать чтобы ускорить процесс пол замечательно так сохранился на всякий случай но пока ничего не делаю и идём

21:22

Speaker A

вниз и нам нужно настроить отображение Давайте смотреть так тут что мы делаем А по умолчанию мы его как-то отмечаем Ну тут просто можно вот на конце вот такую штучку Дописать То есть если например А вот переменная пол равняется чему

21:48

Speaker A

А мужской А что мы val да value мы возвращаем мужской то что то мы выводим соответственно тут вот мужской с большой буквы Т можно было и с маленькой сделать разница-то так закрываемся а нет мы не вводим не мужское мы должны вот этот чек

22:28

Speaker A

вывести идём дальше И вот тут вот следующий параметр у нас уже должен быть женский Угу Так файл сохранить Аа Давайте сохраним получается как мужской нажмём сохранить посмотрим в базе данных что происходит пол мужской сохранился замечательно Я изменяю например на жен

22:59

Speaker A

будут изменения Да изменение происходит супер идём дальше дальше у нас по плану следующая переменная это какая это у нас с вами должно быть галочка есть дети нет детей посмотрим как идёт обработка сверху а то есть я просто беру

23:25

Speaker A

получается ну хоро из да но тут же у нас да или нет должно быть правильно Вот давайте мы вот эту логику будем преследовать То есть если у нас формочка возвращает единичку то значит детей нет Если возвращается не единичка то мы

23:50

Speaker A

записываем что-то другое Так в апдейт скопировал раньше времени Ладно давайте запишем получается что следующая переменная у нас будут дети я предлагаю записывать наверное в начало Давайте запросы чтобы не бегать туда в конец строки опять же чтобы это всё дело

24:18

Speaker A

ускорить максимально ут запи ещ раз я заберу верхний скрипт обработчик формочки который у нас есть и мы должны сейчас обратную связь реализовать чтобы соответственно полученные значения из базы данных у нас выводились как нужно вот тут вот формочки так вот я не помню помоему также к Да он

24:59

Speaker A

должен быть checked также Да инпут у нас размещался таким же словом КТ вот к по умолчанию То есть у меня сейчас формочка не открыта Вот а если я обновлю Да она соответственно будет стоять тут информация так А почему возраст не

25:37

Speaker A

заполнился он должен был заполняться автоматически пол возраст Неужели пустое значение у нас там ещё раз мои данные А база хорошо дальше что так Нет не туда вообще не туда ушли возраст возраст должен был заполняться автоматически ещё раз мои

26:12

Speaker A

данные Неужели Опять сессия слетела Хорошо давайте мы сейчас идём Опять попробуем авторизоваться 1 2 3 4 заходим нажимаем мои данные так возраст не прописался плохо плохо Давайте смотреть в чём дело так переменная возраст должна была называться Угу тут мы что ID User получили и

26:50

Speaker A

выводим как и местоположение юзер где юзер ID User ID User юзер берём из сессии может быть вывести на всякий случай Давайте выведем действительно третий - это юзер Да это третий юзер город у него Какой город Абакан А почему же ты не

27:19

Speaker A

работаешь Как нужно скрипт всё же хорошо было Он правда данные это сохранил так если местоположения У нас есть то тогда мы данные получаем из формы и обновляем их А если нету А ну данные не меняются То есть у

27:42

Speaker A

нас именно при заполнении вот этой табличке возникают трудности так местоположение получили из массива а нет тут же не местоположение а какой у него город город же да обновляемся как будто запрос не проходит просто так Select User дальше From

28:13

Speaker A

User Select User From User где ID просто ID не ID User а просто ID обновляю да Вот это уже заполнило всё хорошо мы на всякий случай Давайте изменим значение 33 и поставим Абдулина наверное и вернём местоположения Конечно я видимо между

28:44

Speaker A

делом что-то умудрился поломать так вот он так вправо листаю местоположения берём раз вот сюда записываем 2 сохраняем обли мы ещё посмотрим как у нас всё это в базе данных сядет всё замечательно Я сейчас обновляю страницу всё подхватило тут изменились

29:15

Speaker A

параметры Да тут параметры изменились полностью супер значит что значит сейчас мы идём снова на переменную дети где она у нас тут Вот давайте мы её возьмём как за основную логику так так так идём дальше уже заполнять соответственно вот

29:41

Speaker A

это вот всё что было Ага с этим чек тамм разобрались так то есть если нет детей соответственно сюда мы что прописываем PHP если переменная дети равняется чему нет мы же такое значение в базу данных записывали да то тогда мы выводим

30:14

Speaker A

чек КТ Вот раз Угу проверяем убираю галочку нажимаю сохранить обновляю и в базе данных должно быть прописано Да правильно понимаю Да а просто есть написано Ну замечательно так дальше образование спис образования у нас нету поэтому что поэтому И кстати выхватывать

31:02

Speaker A

нам тоже его негде поэтому мы целиком передаём value и Значит тут Нам нужно будет Дописать пару штучек так идём получается в переменную образования Ну во-первых мы в запрос update Давайте пропишет это всё дело где у нас вон там вот образование - это

31:26

Speaker A

следующий параметр который был мы целиком передаём строчку так образование берём раз дальше что вот это переменное образование вот мы будем сопоставлять получается с нашими вариантами поскольку какого-то предварительного у нас нету то есть будем просто проверять текущий ввод с

32:05

Speaker A

совпадением так Ага с value Ну и пишем следующим образом то есть тут у нас будет зашит внутри PHP скрипт Да If образование равняется чему равняется получается среднему общему Давайте в двойных кавычках возьмём то тогда мы выводим selected напротив

33:02

Speaker A

вот Аналогично мы сейчас пропишет для всего для следующих переменных так лучше конечно создать массив да какой-нибудь в который прописать варианты возможны и потом ещё подхватить из базы данных но ладно мы пока вот таким топом способом сделаем а потом

33:26

Speaker A

когда у нас появится ещ варианты мы уже оформим это всё нормально в виде в виде чего в виде Наверное этого какого-то массива или в базе данных сделаем отдельные параметры и так далее Всё я сейчас что делаю я сейчас

33:47

Speaker A

обновляю страничку на всякий случай Давайте образование поставим допустим средняя профессиональная нажимаю сохраниться иду в базу посмотрим проше ли оно да среднее профессиональное прописала тут тоже ВС прописала дальше религиозное убеждение Вот тут я вижу смысл сделать наверное как раз-таки уже

34:16

Speaker A

массив Да кстати вот для обучения Я думаю даже более привлекательным вариантом будет посмотреть как это сделать способами давайте мы это с вами и сделаем так PHP дальше S доллар что у нас а религия Да назовём таким образом дальше

34:46

Speaker A

а и в него соответственно добавим все наши варианты первый вариант так православие запятая следующий вариант Ислам потом у нас идёт католицизм потом протестантизм Да я Напоминаю что соответственно вот этот контент да для заполнения формочек нам помог сгенерировать чат

35:23

Speaker A

гпт То есть Поэтому Используйте е эти секретные технологии нам доступны в своих проектах активно выпуск Также можно найти на канале то есть по-моему во втором выпуске своего сайта знакомств мы с вами сгенерить вместе с макетом все вот эти вот

35:47

Speaker A

параметры у всё так массив У нас есть замечательно То есть если какой-то нам новый параметр придётся добавить мы его добавим вообще без проблем Дальше что дальше нам нужно перебор организовать по этому э циклу Ой не по циклу А по массиву так присвоить

36:10

Speaker A

нулю дальше э получается параметры пока I так пока I будет меньше размера чего размера вот этого массива да точка запятая потом а так I плюс плюс и начинается проход вот тут вот мы его завершим Угу Всё дальше что пока я это

36:55

Speaker A

сохраню так а не мы же сразу можем с конечно Давайте мы сразу вывод сделаем а потом всякие штуки уже дом так тут что у нас мы берём получается вот этот параметр и Давайте выводим его так PHP так религия квадратные скобки доллар внутри

37:32

Speaker A

раз взяли вот тут вот также размножить мы это всё дело так selected пока оставим посмотреть вообще как формируется у нас варианты выбора Угу Так файл сохранить идм в мои данные снова религиозное убеждение Да почему по два раза всё получилось

37:59

Speaker A

ещё раз интересно А почему по два раза а Всё я понял же в цикле Он отрабатывает Конечно вот всё то есть вот эти религиозные убеждения у нас выводится в цикле мы это Сейчас исправим Так это не страшно идём дальше идём дальше дальше

38:22

Speaker A

дальше следующий параметр который нам нужно обновлять это Неужели я точно также назвал наш массив Ну ладно там внизу уже что-то придумаем так беру религия ку она так в базе данных называется нету же там религия Почему религия ку на конце

38:52

Speaker A

появилась так ещ раз религия Вот она Почему религия куто тут а сверху она как у нас фигурирует релики релики всё она везде Так на всякий случай сохраняю так идём дальше вниз так тут у нас давайте сделаем религия м

39:37

Speaker A

массив тут мы тоже добавим м тут добавим м соответственно сюда мы пропишет элемент то тогда что мы сделаем тогда мы должны выбрать вот этот вот selected вывести раз закрываемся всё и будем смотреть на результат как параметры сохраняются в

40:17

Speaker A

базе данных так сохранился дальше что идм в наше окошко почему-то так не понял почему одно православие осталось религия м религия м а вот религия м конечно не передел так выбираем давайте выберем что иудаизм например нажимаю сохраниться тут есть и

40:54

Speaker A

попал ли он в базу данных Да в базу данных попадает всё работает идём дальше следующий параметр тип отношений Что это у нас это у нас опять же вариантов тут немного можно сделать самыми разными способами но мы Давайте попробуем в виде массива не знаю Ладно

41:24

Speaker A

сейчас сверху обновим в принципе когда три варианта у нас Мы можем и просто прописывать Да напротив отмечено не отмечено Я думаю примерно по скорости будет работать Ну точно так же то есть никакого выигрыша нету так хорошо тип отношений

41:50

Speaker A

есть у нас же нету никаких сверху тут приколов Да нету вс хорошо табличка будет обновляться сейчас нужно подхватить вот этот вот параметр и прописать ниже массив тогда не будем заводить если что просто следующие поля уже будем оформлять таким же

42:15

Speaker A

образом так тип отношений Ну что мы тут прописываем как и до этого делали получается так ру скобки тип отношений равняется чему равняется Дружба Да вообще конечно наверное желательно бы вынести потом эти все параметры файл конфигурации какой-нибудь Да как вы на это смотрите Мне кажется да

42:48

Speaker A

это будет самое грамотное решение то есть даже не в базу данных закидывать это а в какой-нибудь файл конфигурация по которому мы уже бы смотрели дальше что к чему так угу подставляем всё идём дальше так файл сохранить сейчас проверим

43:36

Speaker A

добавление Нет я не хочу ничего отправлять заново данные так тут мы что выбрали романтические отношения Угу сохранилось в базу данных попала Да в базу данных попала с ростом ВС будет попроще то есть будет просто заполнить value Угу Так идём

44:06

Speaker A

наверх опять обновляем базу данных раз берём рост так вставляем сохраняем листаем вниз и я как помню Да переменная у нас же рост называлась так рост вот сюда мы с вами пропишет всё так идм в ф Нет я ничего заново не

44:59

Speaker A

отправляю так А почему рост просто прописался А это же переменная должна быть конечно вот у нас тут ноль появился Давайте 170 пропиши для эксперимента сохраняем замечательно тут смотрим в базу данных попа на странице сохранись сае так с весом Нет я побольше сделаю окошко

45:37

Speaker A

потому что наверное мы никаких правок не будем больше сегодня вносить А вот именно в дизайн не будем то есть мы с вами эту формочку закончим и всё связь с базой данных организуем и в следующих сериях уже что уже попробуем

45:54

Speaker A

организовать фильтрацию вот по атрибутам потому что на самом деле Да работа вроде несложная но она такая мутона То есть тут ошибка на каком-то этапе может потом нам сказаться в самом необычном месте вылезти то есть Поэтому лучше всё сделать может быть не очень быстро но

46:22

Speaker A

аккуратно чтобы потом у нас трудно не возникало уже ких value так вот сверху скопирую Угу и просто вес поставим вес так сохраняем смотрим нет Отмена я опять не хочу заново отправлять данные Так какой Ну давайте 95 укажем сохраняем идём в

46:54

Speaker A

базу данных всё параметр попал Супер так следующий параметр какой мы делаем тип Ну это же не тип отношений это же у нас профессия должна быть да профессию вот для профессии тоже логично бы организовать конечно массив Наверное мы его с вами и сделаем потому

47:20

Speaker A

что список профессий может быть просто гигантский Напишите Кстати в комментариях Какие профессии вы бы хотели увидеть вот в нашей анкете потому что ну потому что чат гпт не всегда выводит правильну профессии у нас вообще получается какая-то какой-то сайт

47:46

Speaker A

знакомств для айтишников Вот правда Потому что так или иначе там перечислено много вот таких айтиш специализаций а хотелось бы и для обычных нормальных людей что-то сделать вот так тут Что тут у нас логика такая же вот я название

48:06

Speaker A

переменного сюда вставлю А И мы наверное скопирую кусочек вот этот вот с религиями Давайте бац мы его заберём потому что в корне заполнения никак не отличается так религия М Только не религия А давайте мы профессия м у нас

48:28

Speaker A

будет во-первых везде так вот профессия м тут тоже профессия м тут профессия м ещё раз так профессия м так профессия это название массива если я напоминаю по которому мы и дальше соответственно мы вот сюда уже разместим все элементы так первый элемент медицинские

49:08

Speaker A

специалисты раз ставлю запятую открываю двое точи дальше потом что инженеры программисты и разработчики поту учителя и преподавателя точно также я всё размещаю внутри так п кстати вот те параметры которые уже внёс можно убрать наверное так финансовые специалисты запятая дальше

49:54

Speaker A

юристы запятая идём на следующую строчку так бизнес-аналитики консультанты запятая так маркетологи и рекламист кто такие рекламист Ну ладно пускай остаётся чат гпт конечно выдаёт иногда а интересные фразы ладно так графические дизайнеры и художники специалисты в области информационных технологий

50:29

Speaker A

Угу запятая идём дальше так научные исследователи и академические работники тоже формулировка Мне не нравится но Пускай пока будет Мы же понимаете Мы же постоянно будем дорабатывать нашу наш сайт знакомств Поэтому в принципе никаких трудностей не должно возникать так всё сохраняем

51:00

Speaker A

А так обновляю страничку дальше что все параметры подхватывают Давайте поставим Допустим что мы программисты и разработчики по сохранились в базу данных попало Да в базу данных всё попадает супер на страничке отобразилась Да дальше язык Ну всего лишь два языка у

51:25

Speaker A

нас будет я вообще уже сомневаюсь Нужно ли нам это поле с языками то у нас же мы не планируем вообще даже англоязычную версию создавать Ну давайте пропишет в базе данных а вообще его наверное можно было бы и убрать Да ну пока не будем пока пускай

51:51

Speaker A

вот вот тот концепт который мы придумали в самом начале Пускай он будет дальше что языки разд так название переменно У нас есть Ну и там я не вижу смысла заводить массив давайте сделаем вот как мы до этого с вами делали То есть просто выбор

52:19

Speaker A

из двух элементов Да так тут у нас что PHP не мы же проще намного делали То есть тут операция сравнения дальше что языки равняется чему русскому Да можно в двойных кавычках можно в одинарных русский то тогда мы что тогда

52:44

Speaker A

мы выводим с вами от selected Угу точка запятая закрываем всё так скопировал вставляем вот сюда вставляем вот сюда тут у нас правда должен быть уже английский Вот именно вот тут вот Угу Так сохраняем обновляем нет вот каждый раз одно и тоже

53:21

Speaker A

так обновляем страничку я поставлю для разнообразия Давайте английский нажимаю сохранить если в базу данных всё попадает чётко мы идём дальше Да Английский есть всё замечательно и у нас осталось получается две два параметра это у нас получается курит пьёт и так

53:46

Speaker A

далее давайте мы их вот просто по очереди сразу в апдейт внесём сверху языки и вот сюда тоже самое Мет у нас будет что Т да раз пьёт я конечно сомневаюсь что честно кто-то будет отвечать на второй параметр вот я про пьёт потому что у каждого свои

54:13

Speaker A

рамки Но если вдруг человек поставит галочку напротив это повод уже задуматься Да так нам вот этот комментарий больше пока нежен Вот это заберём вниз тут какие у нас варианты были А нет я кодом заберу То есть тут варианты

54:34

Speaker A

следующие если стоит галочка м Если стоит галочка если стоит галочка то значит человек не курит да А если не стоит то значит он курит так всё просто максимально просто так мы всё-таки может посмотрим как до этого я эту штуку

55:11

Speaker A

реализовывался штуку просто заберу Да и пропишу ниже Угу в двух местах вот сюда её вставлю и вот сюда вставлю дальше тут переменная должна быть так Курт А вот тут переменная пиет как мы написали транслитерации так сохраняем дальше что

55:49

Speaker A

я обновляю страничку вот попробую два разных варианта посмотрим данны они заполняются Да заполнили тут у нас что поменяю на всякий случай местами Смотрим Да в базу данных всё садится замечательно так супер Ну всё как бы на сегодня мы эту

56:22

Speaker A

серию заканчиваем обязательно подписывайтесь на канал ставьте лайки жду ваши комментарии и вступайте в сообщество на бусте там я выкладываю все видео к урокам и дополнительные файлики Всё спасибо что смотрели дальше будет интересней

Topics: PHP SQL форма анкеты сайт знакомств Bootstrap база данных обновление данных местоположение дейтинг-сервис разработка веб-приложений


---
This is the markdown twin of https://sozai.app/transcript/dating-site-form-database-php-sql-bootstrap/ — the same content, without the markup.
Published by SozAI (https://sozai.app). Reuse and quotation are allowed with attribution and a link back.
Machine-readable index: https://sozai.app/llms.txt · data API: https://sozai.app/api/
