使用JQuery和PHP检索和比较日期

时间:2013-03-14 09:06:45

标签: php ajax jquery jquery-ui-datepicker

我在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日的用户无法从datepicker中选择22/02/2013。

2 个答案:

答案 0 :(得分:2)

对于你的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中只是为了看它是否正确传递。

答案 1 :(得分:0)

好吧,您可以将日期选择器日期字符串(调整格式调整为$("#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)函数。使用这两个日期对象,您可以轻松地将日期与时间进行比较,以毫秒为单位 - &gt;日期对象的getTime()函数。

此致