【问题标题】:Retrieving and Comparing Dates using JQuery And PHP使用 JQuery 和 PHP 检索和比较日期
【发布时间】:2013-03-14 09:06:45
【问题描述】:

我在 wordpress/PHP 中使用 jQuery 的 datepicker,我正在使用这段代码来显示日期:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    $(function() {
        $("#datepicker").datepicker();
        $("#datepicker").datepicker("option","dateFormat",'yy-mm-dd');
    });
</script>


 Date<input type="text" id="datepicker" size="20" maxlength="15"  style="width: 80px;" readonly="readonly"/>

它成功显示了我的日期。

另外,我在数据库中有一个表 (wp_redeem_vouchers),其中保存了特定的代金券兑换日期:

  id       wp_deal_id            redeem_date
  1      Amazon6767           2012-03-21
  2      Ebay87nm             2013-06-12
  3      M&Svouc              2013-01-01
  4      ASDA                 2011-09-08       

问题:

  1. 如何检索“redeem_date”并将日期选择器的文本框日期(在选择时)与已保存在数据库中的日期进行比较?

  2. 无论如何我可以禁用过去的日期,以便用户无法从日期选择器中选择过去的日期?即 2013 年 3 月 14 日的用户无法从日期选择器中选择 22/02/2013。

【问题讨论】:

标签: php ajax jquery jquery-ui-datepicker


【解决方案1】:

为了你的 i)

$('#datepicker').datepicker( {
        minDate: 0,
        onSelect: function(dateText, inst) {

           $.ajax({
                   type: "POST",
                   url: "some.php",
                   data: { date: dateText },
                   onSuccess: function(e){
                    alert("success");
                  }
                });
        });

然后在 some.php 文件中与 mysql 进行比较,然后返回成功或失败,获取警报(成功)。

那我就开始

      $date = $_POST['date']; 
      die($date);

只是在some.php中看看是否传递正确。

【讨论】:

  • @idipous.Not working.it 停止显示我的 datepicker。Not 验证 some.php!my some.php 代码:$sql="selectredeem_date from wp_redeem_vouchers whereredeem_date=".$_POST[ 'datepicker']." AND wp_deal_id=".$_SESSION['id']; $res=mysql_query($sql) 或死(mysql_error()); while ($row=mysql_fetch_array($res)) { $redeem_date=$row['meta_value']; } if ($redeem_date==$_POST['datepicker']) { return true; }else{ 返回假; }
  • @idipous.你能编辑你的答案来详细解释吗?谢谢
  • @BiL 查看我的编辑。对于 javascript 中的错误,我深表歉意。很着急。也许还有几个。如果日期选择器不起作用,则 php 与它无关。
  • @idipous.Thanks.But 我没有得到回复使用上面的代码。
【解决方案2】:

好吧,您可以将您的 datepicker 日期字符串(将格式调整为 $("#datepicker").datepicker("option","dateFormat",'yyyy-mm-dd');)传递给创建 Date 对象的以下 JavaScript 函数:

function createDate(s) {
    var bits = s.split('-');
    var d = new Date(bits[0], bits[1] - 1, bits[2]);
    return d;
}

然后您必须从数据库中检索日期值。 我不知道 wordpress 是否存在限制,但您可以触发 Ajax-Request 读取数据库值并将日期字符串作为 JavaScript 变量作为响应。

这个变量也可以传递给createDate(date)函数。使用这两个日期对象,您可以轻松调用以毫秒为单位比较日期和时间 -> getTime() 日期对象的函数。

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    相关资源
    最近更新 更多