Как правильно настроить таблицу SQLite3 для принятия заказов?

Ссылка скопирована
1 ответ

Доброго времени суток, хочу подключить БД в моем случае SQLite3 для принятия заказов с чат бота. В первой таблице у меня перечень товаров и его количество. Вторая таблица на фото. Хочу чтобы эта таблица принимала значение. 1) ID юзера 2) дата заказа 3) название товара и его количество. Вопрос пока что в следующем, как правильно настроить столбцы в этой таблице для принятия этих данных? И нужно ли добавлять столбец о количестве заказанного товара или в order можно реализовать и название и количество товара?

Как правильно настроить таблицу SQLite3 для принятия заказов?

Дополнительно:

Общая схема будет выглядеть так:
Пример

Как правильно настроить таблицу SQLite3 для принятия заказов?

Разумеется, что как часть данных будут не нужны (например, в целом таблица "перевозчик"), но общую связь понять можно.

В первой таблице у меня перечень товаров и его количество.

Если я правильно понял - вы имеете в виду количество доступных товаров "на складе". Глобально варианта 2:

  • Храните количество в таблице "товары". Просто в реализации, но сильно ограничивает возможности.
  • Создайте отдельную таблицу для учета "прихода товаров" и считайте текущее количество по формуле:
    кол-во пришедшего товара - кол-во проданного

UPD: На мой взгляд, если вы уж решили вести учет товара, второй вариант, при правильной реализации (не только схемы как таковой, но и логики взаимодействия с такой схемой), лучше, но в целом - не необходим.

  • Нужно чтобы столбик order принимал и отображал значения с первой таблицы при появлении заказа. Название и количество. Я так понял для этого нужно связать их с помощью Foregin Key?

    Как правильно настроить таблицу SQLite3 для принятия заказов?

  • Роман Арафайлов, да, правда к обычно FK "идет" первичному ключу (он же ID).
  • Это вот так будет выглядеть получается для колонки order?

    Мне также нужно чтобы принимало количество, которое выбрал покупатель, но во внешнем ключе я так понял можно указать только одно значение, я уже указал название продукта. Чтобы отображало количество, мне лучше сделать еще одну колонку для отображения количества или как-то все же можно указать второе значение для колонки order?

    Как правильно настроить таблицу SQLite3 для принятия заказов?

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

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

Для настройки таблицы SQLite3 для принятия заказов, вам потребуется создать соответствующую структуру таблицы, которая будет содержать необходимые поля для хранения информации о заказах. Ниже приведен пример создания таблицы для заказов в SQLite3 с использованием языка программирования PHP:

exec($query);
 
// Проверка успешного создания таблицы
if ($db->lastErrorMsg() === "not an error") {
    echo "Таблица для заказов успешно создана.";
} else {
    echo "Ошибка при создании таблицы для заказов: " . $db->lastErrorMsg();
}
 
// Закрытие соединения с базой данных
$db->close();
?>

exec($query); // Проверка успешного создания таблицы if ($db->lastErrorMsg() === "not an error") { echo "Таблица для заказов успешно создана."; } else { echo "Ошибка при создании таблицы для заказов: " . $db->lastErrorMsg(); } // Закрытие соединения с базой данных $db->close(); ?>

В данном примере создается таблица с названием "orders", содержащая следующие поля:
- id: уникальный идентификатор заказа (автоинкрементируемое поле)
- customer_name: имя заказчика (строка)
- customer_email: электронная почта заказчика (строка)
- product_name: название продукта (строка)
- quantity: количество продукта в заказе (целое число)
- total_price: общая стоимость заказа (вещественное число)

Вы можете дополнить данную структуру таблицы в соответствии с вашими потребностями, добавив дополнительные поля или изменив существующие. После создания таблицы вы сможете вставлять, обновлять и извлекать данные о заказах с помощью SQL запросов.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно