#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 большое вам спасибо !