使用php限制最小订单
Posted
技术标签:
【中文标题】使用php限制最小订单【英文标题】:restrict a minimum order using php 【发布时间】:2021-06-01 20:32:58 【问题描述】:我正在使用 html 和 php 创建一个电子商务网站。我在数据库中有一个名为“产品”的表。 产品的最低订货量均保存在此表中。 我有一个管理面板来设置该特定产品的最低订单。每个产品的最小订单数量保存在 mysql 数据库中。该特定产品的最低订单价值由管理员根据产品的可用量设置。管理员在管理面板中设置最小订单没有任何限制。
我的问题是如何从数据库中的“产品”表中获取最小订单($row['moq']
)数量,以便将来自用户的订单(cart_qty
)限制在一定数量的范围内使用最小属性从管理面板设置。
这些是我曾经要求用户添加他们想要订购的数量的代码:
<div class="clearfix"></div>
<form action="store_items.php" method="post">
<div class="col-12 form-group">
<div class="row">
<div class="col-3">
<input type="number" name="cart_qty" step="0.01" value="1" class="form-control text-center" </div>
<div class="col-9">
<input class="btn btn-block addtocart" type="submit" value="Add to cart" name="addtocart" <?php if($row[ 'product_status']==0 ) echo 'disabled="disabled"'; ?> >
</div>
</div>
这是我从管理面板添加最低订单的地方。 moq
是product表中最小订单的实体。
<div class="col-md-2">
<div class="form-group">
<label>Minimum Order Quantity*</label>
<input type="number" step="0.01" class="form-control" placeholder="Enter minimum order quantity" name="moq" value="<?php echo $row['moq'];?>" required>
</div>
</div>
如何获取$row['moq']
来限制cart_qty
中的订单数量。我知道使用最小属性的方法,但是如何从产品表中的moq
获取值来限制用户页面中cart_qty
的输入值。
我没有使用任何电子商务平台(例如 WooCommerce)来构建我的网站。只是一个纯 HTML、PHP 和 javascript。
【问题讨论】:
您是否考虑过使用onChange
事件,然后使用一点Javascript?
@KIKOSoftware 我确实想过使用 Javascript。但我不确定我应该怎么做。能否给我演示一下如何实现您提到的onchange
事件?
我试试看。
@KIKOSoftware 非常感谢!
【参考方案1】:
您可以使用 Javascript 使用 onChange
事件来限制值。
<input type="number" onchange="restrictValue(this, 10, 30);">
然后在 Javascript 中执行:
function restrictValue(inputElement, minimum, maximum)
let value = inputElement.value;
if (value < minimum) value = minimum;
if (value > maximum) value = maximum;
inputElement.value = value;
您可以使用onKeyUp
不断更正输入的任何值,但这可能会造成很大的干扰和烦人。
【讨论】:
我能知道restrictValue(this, 10, 30);
这是做什么的吗?
测试Fiddle中的代码,你可以看到它的作用。
这是一个:jsfiddle.net/2watcofy(提示:按下“运行”按钮...)
回答您问题的另一种方法是:“当输入发生变化时,它会调用给定的 Javascript 函数。”。以上是关于使用php限制最小订单的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JavaScript 限制最小值/最大值之间的数字?
在 WooCommerce 中,将 BACS“暂停”订单限制为客户的一个