Я здесь не новичок, но я впервые обращаюсь за помощью на этом сайте.
У меня довольно интересная проблема, я обработал несколько динамических c полей ввода в течение некоторого времени l oop видно ниже со всей ↓ Ближе к низу, отделенной от остальной части эха внутри, пока l oop ↓
<form class="" action="" method="post">
<div class="form-item-special">
<input class="colorize-button"
type="submit" name="update_all_stock" value="Update All" />
</div>
<table>
<thead>
<tr>
<th>Location ID</th>
<th>Item Number</th>
<th>Name</th>
<th>Description</th>
<th>Storage</th>
<th>Edit Stock</th>
<!-- <th>Delete</th> -->
<th>In Stock</th>
<!-- <th>Adjust</th> -->
</tr>
</thead>
<tbody>
<?php
if(isset($_GET['l_id'])) {
$selected_items_id = $_GET['l_id'];
$query = "SELECT * FROM items WHERE item_location_id = '$selected_items_id'";
$selected_items_result = mysqli_query($connection, $query);
if(!$selected_items_result) {
echo "No items found " . mysqli_error($connection);
} else {
while($row = mysqli_fetch_assoc($selected_items_result)) {
$item_id = $row['item_id'];
$item_location_id = $row['item_location_id'];
$item_number = $row['item_number'];
$item_name = $row['item_name'];
$item_description = $row['item_description'];
$item_storage = strtoupper($row['item_storage']);
$item_inventory = $row['item_inventory'];
echo "<tr>";
echo "<td>$item_location_id</td>";
echo "<td>$item_number</td>";
echo "<td>$item_name</td>";
echo "<td>$item_description</td>";
echo "<td>$item_storage</td>";
echo "<td><a href='users.php?source=edit_stock&i_id=$item_id'>Edit Stock</a></td>";
echo "<td>$item_inventory</td>";
echo "<td><input style='width: 50px;' type='number' name='adjust[][".$item_id."]' value='0' /></td>";
echo "</tr>";
} // end while statement
} // end else statement
} // end $_GET['l_id']
?>
</tbody>
</table>
<!-- <div class="form-item-special">
<input class="colorize-button"
type="submit" name="update_all_stock" value="Update All" />
</div> -->
</form>
Моя цель обновить несколько строк в базе данных mysql с полями ввода name = 'Adjust []' Dynami c. В настоящее время более 200 элементов обновляются в столбце таблицы item_inventory. Таблица уже существует, и для столбца задано целое число.
(Таблица: items) - (Столбец: item_inventory (принимает целое число))
Вот что я получил ↓ В настоящее время он обновляет все строки с последним элементом массива в l oop. Поскольку я увеличиваю в обратном порядке, используя (- = $ i), он обновляет все строки с самым первым полем пользовательского ввода. Поэтому, если я обновлю поле ввода 1, например, верхнее поле ввода числом, скажем, числом 12, тогда все поля будут обновлены до 12, когда они должны остаться, и будет обновлена только 1-я строка.
Кроме того, все поля должны быть обновлены соответствующим полем ввода. По сути, короче говоря, когда нажата кнопка отправки, item_inventory, который имеет 221 строку, будет обновлен соответствующим пользовательским вводом, если пользовательский ввод не существует, значение должно остаться прежним.
Вот запрос на обновление и остальной код ...
if(isset($_POST['update_all_stock'])) {
$i = 0;
foreach ($_POST['adjust'] as $key => $value) {
$new_array = $_POST['adjust'];
$value = $new_array[$key -= $i];
$value = implode(",", $value);
$i ++;
}
$update_stock = "UPDATE items SET ";
$update_stock .= "item_inventory = '". $value ."'";
$update_stock_result = mysqli_multi_query($connection, $update_stock);
if(!$update_stock_result) {
echo "FAILED TO UPDATE STOCK ".mysqli_error($connection);
}
}
Я работаю над этим более двух недель и ищу ответ везде. Пожалуйста, помогите !!!!