使用php限制最小订单

Posted

技术标签:

【中文标题】使用php限制最小订单【英文标题】:restrict a minimum order using php 【发布时间】:2021-06-01 20:32:58 【问题描述】:

我正在使用 htmlphp 创建一个电子商务网站。我在数据库中有一个名为“产品”的表。 产品的最低订货量均保存在此表中。 我有一个管理面板来设置该特定产品的最低订单。每个产品的最小订单数量保存在 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“暂停”订单限制为客户的一个

如何通过 WooCommerce 中的时间限制限制每个客户的订单数量

php之yii2简单redis锁限制

UVa 1658,Admiral (拆点+限制最小费用流)

限制删除订单数量 SQL Query