我希望有人能帮帮忙。基本上,我对PHP和MySQL表示满意,
但是,我需要一些有关如何完成此任务的建议。
由于我的系统过于复杂,无法解释,因此我将其精简了下来,这样更清楚了。
基本上,我有一个简单的PHP表单,要求用户输入:
名称,订购商品,数量。 OrderID是自动生成的,是随机的
4号。因此,目前我这样做:
$sql="INSERT INTO system_orders
(orderid,name,itemordered,itemquantity) VALUES
('$randomgeneratednumber', '$_POST[name]','$_POST[itemordered]','$_POST[itemquantity]')"; and
run $sql
现在我想要的是如果他们将数量设为“ 2”,我希望它创建一个额外的行并追加
randomgeneratednumber。例如,如果randomgeneratednumber为9876并且数量为2,则将创建另一个新行,并带有$ randomGeneratednumber-2,在本例中为9876-2
有人知道如何实现这一目标吗?
我暂时使用了if语句(我知道这确实是不好的编程习惯)
手动附加-2,但必须有一个函数来检测$ quantity = 2
然后用附加的-2创建其他行,依次类推3,4,5,6,7,8 ...
最佳答案
使用循环:
if ($quantity > 1) {
for ($q = 2; $q <= $quantity; $q++) {
$sql = "INSERT INTO system_orders
(orderid,name,itemordered,itemquantity) VALUES
('$randomgeneratednumber-$q', '$_POST[name]', '$_POST[itemordered]', '$_POST[itemquantity]')";
// run $sql
}
}
您还应该切换到支持参数化查询的数据库API,或者转义用户提供的输入。