Вводит массив из цикла while, передавая $ _POST для каждого входа

<form role="form" autocomplete="off" action="includes/functions/fisa-init.php" method="POST">
<?php
connectDB();
$query = mysqli_query($mysqli, "SELECT * FROM `optionale`") or die(mysqli_error($mysqli));
while($row = mysqli_fetch_array($query))
{
?>
<span><?php echo $row['denumire']; ?></span>
<input type="text" name="nrBucati[]">
<input type="hidden" value="<?php echo $row['cod']; ?>" name="codProdus[]">
<?php } ?>
</form>

В цикле while я получаю массив для input name="nrBucati[]" а также input name="codProdus[]",

У меня есть запрос:

$stmt3 = $mysqli->prepare("UPDATE
`stocuri`
SET
`cantitate` = `cantitate` - ?
WHERE `cod` = ?
");$stmt3->bind_param("is", $bucata, $cod);

// set parameters and execute
foreach( $_POST['nrBucati'] as $bucata ) {
return $bucata;
}

foreach( $_POST['codProdus'] as $cod ) {
return $cod;
}

if (!$stmt3->execute())
{
echo "Execuția a întâmpinat o eroare: (" . $stmt3->errno . ") " . $stmt3->error;
}
$stmt3->close();

Мне не удается принять все значения входного массива через $_POST, Подробно в:

Цикл while — только один вход от многих других отправляет значение через POST

Как получить каждое входное значение из массивов nrBucati[] а также codProdus[] из HTML, через POST?

0

Решение

Что-то вроде этого, чтобы правильно назначить / объединить в пару ваши параметры и затем выполнить ваш запрос из цикла.

foreach( $_POST['nrBucati'] as $id => $bucata ) {
$cod = $_POST['codProdus'][$id];

if (!$stmt3->execute())
{
echo "Execuția a întâmpinat o eroare: (" . $stmt3->errno . ") " . $stmt3->error;
}
}
0

Другие решения

Запустить foreach и подготовить ваши данные внутри foreach цикл:

// Get posted data and execute
foreach( $_POST['nrBucati'] as $key=>$bucata ) {
$cod = $_POST['codProdus'][$key]; // For object change this to $_POST['codProdus']->$key;

$stmt3= $mysqli->prepare("UPDATE `stocuri` SET `cantitate` = `cantitate` - ?
WHERE `cod` = ? ");
$stmt3->bind_param("is", $bucata, $cod);

if (!$stmt3->execute()){

echo "Execuția a întâmpinat o eroare: (" . $stmt3->errno . ") " . $stmt3->error;
}

$stmt3->close();

}
0

По вопросам рекламы [email protected]