php - 如何增加或减少数量然后数据库数量也会改变?
问题描述
如果我在库存字段中输入一个数字,然后单击添加库存,数量应该增加和更新,与减法相同。
添加项目和初始数量的代码
<label for="item_code">Item Code</label>
<select name="code" id="code">
<?php
$query = "SELECT * FROM item_code";
$select_item_name = mysqli_query($connection, $query);
while ($row = mysqli_fetch_assoc($select_item_name)) {
$item_id = $row["item_id"];
$item_code = $row["item_code"];
echo "<option value='{$item_id}'>$item_code</option>";
}
?>
</select>
<br>
<label for="item_name">Item Name</label>
<input type="text" name="item_name"><br>
<label for="item_name">Add Initial Quantity</label>
<input type="number" name="quantity"><br>
<input type="submit" name="add_item" value="Add Item">
显示表格的代码
我的删除功能正在运行
if(isset($_GET['delete'])) {
$the_item_management_id = $_GET['delete'];
$query = "DELETE FROM item_management WHERE item_management_id = {$the_item_management_id}";
$delete_query = mysqli_query($connection, $query);
header("Location:inventory_management.php");
}
我正在尝试添加库存
if(isset($_GET['add_stock'])) {
$the_item_management_id = $_GET['add_stock'];
$stock = $_POST["stock"];
$query = "SELECT item_quantity + $stock AS item_quantity FROM item_management";
$result = mysqli_query($connection, $query);
}
这是我的数据库表
解决方案
更改以下代码
$query = "SELECT item_quantity + $stock AS item_quantity FROM item_management";
$result = mysqli_query($connection, $query);
和
$stmt = $connection->prepare("UPDATE item_management SET item_quantity = @item_quantity := item_quantity + ? LIMIT 1");
$stmt->bind_param('s', $stock);
$stmt->execute();
$query = "SELECT @item_quantity AS item_quantity";
$result = mysqli_query($connection, $query);
但是您还必须为要增加的项目数量传递一个 ID。当您有多个产品时。
这种功能的最佳选择是创建一个存储过程并在您的 PHP 代码中调用它。
CREATE PROCEDURE `return_item_quantity` ()
BEGIN
UPDATE tbl_user SET
item_quantity = @item_quantity := item_quantity+'$stock'
WHERE id='$id' LIMIT 1;
SELECT @item_quantity AS item_quantity;
END //
推荐阅读
- google-apps-script - 提交时将表单数据链接到另一个表单
- python - 运行二进制可执行程序时的垃圾收集,该程序是使用 cython 从 python 转换的
- php - PHP:如何通过正则表达式从精确字符到字符串末尾删除
- java - 服务中的停车线程
- c# - 如何解决 Newtonsoft.JSON 依赖问题?
- string - 查找模式并将其移动到行尾
- tensorflow - 无法在 Conda 环境 ubuntu 16.04 python 3.6.4 中导入 tensorflow
- powershell - 如何测试特定 Active Directory 树位置中是否允许使用 powershell 命令
- javascript - 使用复选框可视化 MySQL 数据
- python - Django REST 如何设置节流时间以允许 10 分钟内的一个请求?