【问题标题】:How to pass value from date range picker to SQL?如何将值从日期范围选择器传递到 SQL?
【发布时间】:2018-07-27 07:14:54
【问题描述】:

我在这里遇到了两个问题:

(A) 如何将此 http://www.daterangepicker.com/#example4 中的开始日期和结束日期的值传递到查询 *select * from table_name where date between ' >开始日期'和'结束日期'*

(B) 我的数据包含2018/04/11到2018/04/13之间的日期,也就是说它也包括这两个日期。如何保证选中的日期范围可以显示在查询结果中?

【问题讨论】:

标签: php postgresql daterangepicker


【解决方案1】:

首先,sql 使用不同的格式(默认情况下)存储它们,因此您必须转换它,可能通过使用 strtotime()date() 组合来获得所需的 SQL 格式。

然后您可以使用 BETWEEN WHERE 子句过滤值,例如: WHERE created_at BETWEEN 2018-04-11 AND 2018-04-13

【讨论】:

    【解决方案2】:

    首先通过explode提取日期:

    $dates = explode(" to ", $datesFromDatepicker);
    

    然后创建开始和结束日期:

    $start= DateTime::createFromFormat('Y/m/d', $dates[0]);
    $end= DateTime::createFromFormat('Y/m/d', $dates[1]);
    

    在您的查询中使用:

    $start->format("Y-m-d");
    $end->format("Y-m-d");
    

    【讨论】:

    • 有什么理由使用explode for php?
    • 因为作者说范围是那种“字符串”格式,所以最容易通过爆炸来得到它。恕我直言,这是获取这两个值的好方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多