【问题标题】:less than or equal to not working in codeigniter小于或等于不在 codeigniter 中工作
【发布时间】:2016-11-14 09:08:02
【问题描述】:

我想从字段名称为 f_date 的表“flock”中获取所有数据 有日期和时间。我只想要日期部分。我试试这个

$this->db->where('f_date >=', $f_date)
$this->db->where('f_date <=', $t_date)

$f_date 来自日期,$t_date 是迄今为止$f_date 来自日期运行良好,但 $t_date

获取比$t_date 少一条记录。例如,当$t_date 发布为15-11-2016 时,获取14-11-2016 上的记录

【问题讨论】:

  • 你只需要改变顺序,看看你的日期值..
  • 您需要采用yyyy-mm-dd 格式的日期,即MYSQL 期望日期输入的格式
  • 你能给我们提供一个干净的例子吗?
  • $f_date$t_date 的值是多少?
  • -@RiggsFolly 日期格式没有问题,因为我在两个日期之间得到了想要的结果,但是 $t_date 选择比所选的 $t_date 少一个

标签: php mysql codeigniter


【解决方案1】:

您可以使用 BETWEEN 来获取结果。

$this->db->where("f_date BETWEEN $f_date AND $t_date");

【讨论】:

  • 能否指定数据库,因为如果您使用日期格式为“YYYY-MM-DD”,它在 MySQL 数据库上可以正常工作
【解决方案2】:

试试这个。它对我有用

public function getData() {

        $query = "SELECT * FROM `flock` WHERE cast(f_date as date) >= DATE_FORMAT(STR_TO_DATE('$f_date', '%d-%m-%Y'), '%Y-%m-%d')  AND cast(f_date as date) <= DATE_FORMAT(STR_TO_DATE('$t_date', '%d-%m-%Y'), '%Y-%m-%d')";

        $result = $this->db->query($query);

        return $result->result_array();
    }

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2021-11-05
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多