Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在CodeIgniter中仅从datetime获取日期?_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何在CodeIgniter中仅从datetime获取日期?

Php 如何在CodeIgniter中仅从datetime获取日期?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在MySQL表中有如下数据: ID dates value 1 2011-12-18 10:11:12 test1 2 2011-12-18 12:11:12 test2 3 2011-11-18 10:19:11 test3 当我试图在模块中获取值时,它不起作用,我编写的代码如下: $query=$this->db->get_where('datas', array('dates' =&

我在MySQL表中有如下数据:

ID     dates                   value
1    2011-12-18 10:11:12      test1
2    2011-12-18 12:11:12      test2
3    2011-11-18 10:19:11      test3
当我试图在模块中获取值时,它不起作用,我编写的代码如下:

$query=$this->db->get_where('datas', array('dates' => date('Y-m-d')));
我需要从全天获取数据,就像只获取2011-12-18的数据一样


谢谢

试试
$this->db->like()

就这样吧

$query=$this->db->like('dates', array('dates' => date('Y-m-d')));
%
将自动添加


此外,您还将数据作为密钥,并且日期应基于数据库结构。您可以执行以下操作:

在表中,创建一个名为ts的int字段

将数据插入此表时,请使用time()方法将时间戳插入ts

$data = array(
   'dates' => '<your date value>' ,
   'value' => '<your value>' ,
   'ts'    => time()
);

$this->db->insert('datas', $data); 
$data=array(
'日期'=>'',
'值'=>'',
'ts'=>time()
);
$this->db->insert('datas',$data);
然后,查询时:

使用mktime()方法为今天的开始和结束创建时间戳范围

$start = mktime() - date('h')*3600;    
$end   = mktime(); 

$this->db->where('ts >=', $start);
$this->db->where('ts <=', $end);
$start=mktime()-date('h')*3600;
$end=mktime();
$this->db->where('ts>=',$start);
$this->db->where('ts试试这个:

$date=“2018-09-19”;
$this->db->select('*');
$this->db->from('tbl_name');
$this->db->where('DATE(DATE\u time\u col)'$DATE);
$query=$this->db->get();
$res=$query->result();