php - jQuery DatePicker 在使用 mongodb 数据库的 php 中不起作用?
问题描述
我正在尝试使用 jQuery 日历过滤我的 MongoDB 数据,但它给出了一个错误 Undefined variable: start
,Undefined variable: end
我无法弄清楚如何定义我的查询值并放入 MongoDB 查询以根据所选日期进行过滤。
代码 - MongoDB 查询
$collection= $client->db_name->collection;
//default date selected
$currentdate = date("Y-m-d");
$filter = [array('date' => array('$gt' => start, '$lte' => end)),'date' => $currentdate];
$options = [];
$cursor= $collection->find($filter, $options)->toArray();
这是我的jQuery 日历代码
$(function () {
var start = moment();
var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('YYYY-MM-DD') + ' - ' + end.format('YYYY-MM-DD'));
$('#hidreportrange').val(start.format('YYYY-MM-DD'));
$("#spncurrentDate").html(DataBaseManager.DateTimeFormat(start.format('YYYY-MM-DD')));
}
$('#reportrange').daterangepicker({
"singleDatePicker": true,
startDate: start,
endDate: end,
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')]
},
locale: {
format: 'YYYY-MM-DD'
}
}, cb);
cb(start, end);
});
解决方案
尝试在您的日期选择器上定义您的开始和结束变量,如下所示:
daterangepicker.daterangepicker("setRange", {
start: moment("{{ startDate }}").toDate(),
end: moment("{{ endDate }}").toDate()
});
在我的情况下,我使用“startDate”和“endDate”作为从控制器发送的变量,但你可以使用你需要的任何东西。
编辑:忘了提到我的 daterangepicker 引用了我的 html id:
let daterangepicker = $("#daterangepicker");
推荐阅读
- java - Android Studio 游戏在新设备上运行速度较慢,在旧设备上运行速度更快
- c# - 从设备 modbus C# 读取响应
- java - 拼图“需要传递”不起作用
- c# - 如何通过 OData 隐藏 EF Context 数据库架构?
- php - 在 PHP 中,StdClass 的值可以是另一个键的值吗?
- javascript - 当命名函数回调不需要参数时调用什么?
- r - 如何正确转义引号?
- oracle - 未定义值的顺序时,Oracle Insert Into 如何工作?
- php - 设置 MySQL php artisan migrate - SQLSTATE[HY000] [2002] 没有这样的文件或目录
- sql - 从SQL中的文本中提取年份