为了账号安全,请及时绑定邮箱和手机立即绑定

时间搜索功能在 PHP 中无法正常工作

时间搜索功能在 PHP 中无法正常工作

PHP
慕娘9325324 2021-12-03 19:00:22
我正在尝试向我的 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() 函数。


查看完整回答
反对 回复 2021-12-03
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信