Я работаю с зависимостью JSON, где мне нужно вставить в базу данных
Вот мой код PHP
$data = [];
foreach ($quantity as $key3 => $fname1) {
$data['quantity'][] = $_POST['quantity'][$key3];
}
foreach ($flower_id as $key => $fname) {
$data['flower_id'][] = $_POST['flower_id'][$key];
}
foreach ($flower_price as $key1 => $fname1) {
$data['flower_price'][] = $_POST['flower_price'][$key1];
}
foreach ($customer_id as $key2 => $fname1) {
$data['customers'][] = $_POST['customer_id'][$key2];
}
echo json_encode($data);
Ответ JSON:
{"quantity":["2","3"],"flower_id":["1"],"flower_price":["12"],"customers":["21","20"]}
Это одиночный цветок, если его несколько
{"quantity":["13","2","12","3"],"flower_id":["1","2"],"flower_price":["12","22"],"customers":["21","20"]}
Для каждого покупателя есть два цветка, и каждый цветок имеет свою цену и свое количество, как показано на картинке.
Но мне нужен индивидуальный массив зависимостей для вставки в базу данных. как индивидуал зависит от клиента flower_id flower_price и количество как с этим делать
похоже
[{
"customer_id": 20,
"flower_id": 1,
"flower_price": 12,
"quantity": 3
},
{
"customer_id": 21,
"flower_id": 1,
"flower_price": 12,
"quantity": 2
}]
Если у вас была другая альтернатива, вы можете поддержать
Пожалуйста, помогите мне в этом
Спасибо
Всегда ли в $ _POST вы получаете один flower_id и flower_price? или может быть несколько?
может быть несколько только клиенты постоянны, все остальное может быть больше
вот массив сообщений (4) {["flower_id"] => array (1) {[0] => string (1) "1"} ["flower_price"] => array (1) {[0] = > строка (2) "12"} ["customer_id"] => массив (2) {[0] => строка (2) "21" [1] => строка (2) "20"} ["количество" ] => массив (2) {[0] => строка (2) "12" [1] => строка (2) "22"}}
Изменен вопрос
Когда вы отправляете такие данные в посте, сложно установить связь между выбранным цветком и покупателем. Я предлагаю вам сделать набор данных из javascript (содержащий отношения с клиентами) и отправить его на бэкэнд. Если вы разместите свой html и javascript код. Я могу опубликовать вам решение
функция addGroupOrderForm () {var data = $ ("# grouporder-form"). serialize (); $ .ajax ({type: "POST", url: baseurl + "product / ajax_addOrderToGroup", data: data, beforeSend: function () {$ ("# error"). fadeOut (); $ ("# grouporder-submit ") .html ('Создание ...');}, успех: функция (ответ) {console.info (ответ); return false;}}); вернуть ложь; }
также добавьте HTML-код "# grouporder-form". чтобы я получил четкое представление о том, как опубликовать решение
трудно скопировать html ничего, как показано на изображении в вопросе <input name = customer []> <input name = flower_id []> и так далее ... как обычно
Теперь, как я вижу, проблема в html. эта форма генерируется динамически? или статика из. нам может потребоваться изменить некоторые имена <input>. не взглянув на html, трудно дать точное решение. если вы можете добавить html в jsfiddle и опубликовать его здесь, это будет лучше
@SpikyChathu Проверьте здесь jsfiddle.net/r6dtk30j/2 на наличие html и javacript






не могли бы вы поделиться результатом
$_POSTперед запуском цикла.