Как вставить несколько записей с помощью одного запроса, если количество повторений отличаются друг от друга

#php #mysql

#php #mysql

Вопрос:

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

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

ТАБЛИЦА

day start startGrams breakfast breakfastGrams

Пример:

Рассмотрим это изображение

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

В maandag (понедельник) при ЗАПУСКЕ допустим, пользователь ввел grams для whey protein и water . и в тот же день, т.е. monday пусть он захочет ввести граммы ЗАВТРАКА только для water .

Сколько раз я должен запускать запрос insert, потому что сначала я должен вставить граммы для 2 продуктов питания, а затем для one продукта питания.

Я предполагаю захватить все grams поля и затем вставить в таблицу с помощью одного запроса.

Как решить эту проблему?

Комментарии:

1. почему вы хотите сделать это в одном запросе?

2. @kuh-chan Почему бы и нет?

3. что еще я мог сделать? @kuh-chan

4. @Strawberry Я бы сделал подготовленную вставку и запустил цикл над данными post, чтобы вставить их с привязкой параметра

5. Без исправления вашего дизайна это безнадежный курс действий.

Ответ №1:

Не ответ; слишком длинный для комментария…

Нормализованная схема может выглядеть примерно так. Обратите внимание, что, вероятно, есть дополнительные возможности для нормализации, но это только начало…

 schedule
day     session   meal_id
monday  start           1
monday  breakfast       1
tuesday start           1
tuesday breakfast       1


meal_detail
meal_id ingredient_id quantity unit
      1           101       80   gr
      1           102       30   gr
      1           103      118   gr
      1           104       24   gr
      1           105       21   gr
      1           100      237   gr

ingredients
ingredient_id name
          100 water (1 cup)
          101 havermout 
          102 whey protein
          103 banaan (1 med.)
          104 pindakaas 
          105 honing (1 tl)
  

Комментарии:

1. Я уверен, что это мне очень поможет, @strawberry большое вам спасибо !