Полагаю, ваша проблема в формате массива $_POST
.У вас есть:
[recipe][ingredient][...] and
[recipe][quantity][...]
Однако это не та структура вашей базы данных, которая организовала ее в строки и столбцы:
[recipe][...][ingredient, quantity]
Вы можете видеть, как движется [...]
.Вам необходимо сопоставить формат массива с форматом вашей базы данных.Это проще всего сделать с помощью foreach
:
$recipes = array(); # Zero rows to insert we start with.
$formRecipes = $_POST['recipe']; # The form recipes are located here.
# The [...] part is in ingredient:
foreach ($formRecipes['ingredient'] as $index => $ingredient)
{
# the [...] part is $index now
$recipes[$index]['ingredient'] = $ingredient;
$recipes[$index]['quantity'] = $formRecipes['quantity'][$index];
}
После того, как вы запустите это, используйте print_r
, чтобы убедиться, что все прошло правильно:
print_r($recipes);
Теперь вы можете использовать массив $recipes
для вставки ваших данных в базу данных для каждой строки (я полагаю, вы знаете, как вы выполняете SQL-запрос на вставку, поэтому я не помещаю его в ответ).