@zitape

Как организовать хранение заявок и клиентов в БД?

На сайте есть функция (форма) оставить заявку на продукты и оставить заявку на обратный звонок (тоже форма). Для оставления заявки на продукты нужно ввести: Имя, электронную почту и какое-то сообщение, а для оставления заявки на обратный звонок нужно ввести только имя и номер телефона.
В данный момент к сайту подключена база с помощью phpmyadmin и заявки на обратный звонок и услуги записываются в две разных таблицы, а конкретно: application_back_call (таблица заявок на обратные звонки) с полями таблицы: id, name, phone_number и таблица application_product (таблица заявок на продукты) с полями таблицы: id, name, email, message.
Также на сайте существует таблица, в которую я вывожу эти заявки (по сути данные клиентов для заявки).
Теперь главный вопрос, подскажите пожалуйста максимально понятно насколько это возможно, как правильно организовать хранение клиентов и заявок в базе данных, если у меня 2 формы где пользователь может оставить либо номер телефона либо почту. Нужно ли создавать две таблицы для клиентов, которые оставляют заявки на продукты где требуется номер телефона и таблицу для клиентов где требуется электронная почта? Заранее извиняюсь если как-то криво или непонятно расписал, пытался максимально подробно разложить свой вопрос. Скрины таблицы базы данных прикрепляю к вопросу64803a2eeeed5302804768.png
64803a3aaaee4497476718.png
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
Теперь главный вопрос, подскажите пожалуйста максимально понятно насколько это возможно, как правильно организовать хранение клиентов и заявок в базе данных, если у меня 2 формы где пользователь может оставить либо номер телефона либо почту.

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

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

Нет, не нужно. Просто выводите там где нужно телефон, а в другом случае эл.почту.

Таблица users: id, name, phone_number, email;
Таблица application_product: id, user_id, message;

Потом вы можете делать запрос к базе данных, например, так:
SELECT u.name, u.email, ap.message
FROM application_product ap
    JOIN users u ON ap.user_id = u.id
WHERE ...


Для application_back_call соответственно выбираете u.phone_number вместо u.email.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Я бы сделал одну таблицу
application_orders с полями
id, type, name, phone_number, email, message.
type - тип заявки - продукты или звонок
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы