Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
整个数据库中最后一项的更新量(php)_Php_Mysql_Cart_Shopping Cart_Shopping - Fatal编程技术网

整个数据库中最后一项的更新量(php)

整个数据库中最后一项的更新量(php),php,mysql,cart,shopping-cart,shopping,Php,Mysql,Cart,Shopping Cart,Shopping,我正在用php和MySQL做我的电子商务网站学期项目。我使用这两种工具构建了一个购物车系统。我遇到的问题是,当购物车只包含一个项目时,它将按预期工作,即更新数据库“数量”列中的反映数量。但是当我增加购物车中的物品时,它不会像我想的那样工作,即它只会用最后一个物品数量更新整个数据库数量列。下面是我的代码。任何帮助都会非常有用,因为我现在正在学习这些东西 欢迎光临! 购物车 -项目:-价格:- 去购物车 去除 产品 量 总价 提交HTML表单时,如果表单包含多个同名表单元素,则只发送最后一个表单元


我正在用php和MySQL做我的电子商务网站学期项目。我使用这两种工具构建了一个购物车系统。我遇到的问题是,当购物车只包含一个项目时,它将按预期工作,即更新数据库“数量”列中的反映数量。但是当我增加购物车中的物品时,它不会像我想的那样工作,即它只会用最后一个物品数量更新整个数据库数量列。
下面是我的代码。
任何帮助都会非常有用,因为我现在正在学习这些东西

欢迎光临! 购物车 -项目:-价格:- 去购物车

去除
产品
量
总价

提交HTML表单时,如果表单包含多个同名表单元素,则只发送最后一个表单元素。由于您所有的数量输入框都有名称
quantity
,因此只会提交购物车中最后一个产品的数量,这就是为什么您所有的产品都以该数字结尾的原因

PHP有一个特性,允许您在表单元素名称中使用方括号,并以一个数据数组结束(有关如何工作的更多信息,请参阅上一节)。您可以使用
[]
将值附加到数组中(您已经在为“从购物车中删除项目”复选框执行此操作),也可以通过将元素命名为
qty[foo]
(这将以
$\u POST['qty']['foo']
的方式为其指定数组键

有几种不同的方法可以解决这个问题。由于这是一个项目,我将向您指出一个可能的解决方案,并建议将您的quantity form元素更改为:

<input type="text" name="qty[<?php echo $product_id;?>">]" value="1" size="3" min="1">

您的代码有点混乱,因为您让select查询运行一个循环,然后另一个select查询运行另一个循环,并且在其中输出表单,然后尝试更新。您的代码可能是可以修复的(我无法从快速查看中看到问题)。然而,我强烈建议将这些东西分开一点。在顶部检查他们是否按下了“更新”,如果是,表单应该发布一个数组,循环该发布数组并更新数据库中的每个项目。然后循环获取所有产品数据并将其设置到新数组中。然后使用该数组输出购物车中的数据。
<input type="text" name="qty[<?php echo $product_id;?>">]" value="1" size="3" min="1">