Как добавить массив $_POST
(каждый элемент) для каждой строки базы данных? У меня есть а, у которого есть разные поля, однако только один из них может изменить пользователь, что в данном случае является количеством.
Строки в этом поле точны для тех, которые используются в файле PHP (упорядочены).
Я использовал $_POST
массив так: <input type="text" name = "quantity[]">
Теперь я хочу, чтобы показать ту же информацию, как пользователь показывается (та же строка), на стороне PHP.
Здесь я
if (is_array($_POST['quantity']) || is_object($_POST['quantity'])) {
foreach($_POST['quantity']as $key=>$value) {
$sqlquery = "SELECT * FROM info WHERE user_id = " . $user_id . " ORDER BY name ASC";
foreach($dbq->query($sqlquery) as $row) {
$message .= $row['name'] . $row['description'] . $row['amount'] . $value;
echo $message;
}
}
}
Теперь все это работает, как задумано, ожидать, что она петли дважды. Поэтому каждая строка отображается дважды, а количество в строке неверно для половины из них. Если у меня есть две строки, она будет выходить из четырех, и только две из них будут иметь правильное количество, остальные два будут иметь значение количества, обмениваемое.
Как показано на этой картинке вы можете увидеть последнее значение (2, 2, 15, 15) значения не представляют правильную строку. Правильный порядок должен быть (2, 15, 2, 15), поскольку строки зацикливаются дважды - это, конечно, не предназначено.
Так что на отправляемом HTML, сколько '' у вас есть? – miken32
Почему вы тестируете 'is_object()'? Параметры '$ _POST' никогда не будут объектами - это либо строки, либо массивы. – Barmar
@ miken32 Один за строку. Строки извлекаются из базы данных SQL. – user1622951