我正在嘗試向我的 PHP 站點添加時間搜索,該站點已經有日期搜索并且工作正常。但是當我嘗試添加時間搜索時,它無法正常工作。它似乎正在發送數據但沒有影響很大。例如,當我選擇 13:00 作為開始時間和 16:00 作為結束時間時,它顯示了那幾天的所有記錄,不關心時間。但是如果我為開始和結束選擇相同的時間,它什么都不顯示。選擇一個高于結束時間的時間作為開始時間,同樣不顯示。//search_model.phpif(!empty($data['start'])){$this->db->where('Date(requests.confirmed_at) >=', date("Y-m-d", strtotime($data['start'])));}if(!empty($data['end'])){$this->db->where('Date(requests.confirmed_at) <=', date("Y-m-d", strtotime($data['end'])));}if(!empty($data['starttime'])){$this->db->where('Date(requests.confirmed_at) >=', date("H:i", strtotime($data['starttime'])));}if(!empty($data['endtime'])){$this->db->where('Date(requests.confirmed_at) <=', date("H:i", strtotime($data['endtime'])));}//search_view.php<div class="form-group" id="data_5"><label class="col-sm-2 control-label font-normal"><?php echo lang('select_date_range');?></label><div class="col-sm-10"><div class="input-daterange input-group" id="datepicker"><input type="text" class="form-control-sm form-control" name="start" value="<?php echo date("Y-m-d")?>"/><div class="input-group clockpicker"><input type="text" class="form-control" value="" name="starttime" id="starttime"><span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span></div><span class="input-group-addon">to</span><input type="text" class="form-control-sm form-control" name="end" value="<?php echo date("Y-m-d")?>" /><div class="input-group clockpicker"><input type="text" class="form-control" value="" name="endtime" id="endtime"><span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span></div>在視圖到模型之間發布數據沒有問題。所以我認為這是關于模型,但我無法解決它。任何幫助將不勝感激。謝謝。
1 回答

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
在 MySQL 中,“Date”函數將僅返回日期時間字符串的日期,因此Date('2019-08-24 10:29:00')
將返回“2019-08-24”。
查看您的代碼,前兩個塊是根據日期查看日期。接下來的兩個塊是根據日期查看時間,這就是問題所在。
如需參考,請參閱:https : //dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html(注意這是針對 MySQL 5.7,請確保從您的版本中引用文檔正在使用)。
在上面的這種情況下,如果在按時間過濾數據時不需要日期約束,則可以使用上面文檔中的 TIME() 函數。
- 1 回答
- 0 關注
- 203 瀏覽
添加回答
舉報
0/150
提交
取消