ci 数据库如何按 月份 查询数据??
ci 数据库如何按 月份 查询数据??比如我要查询201504到201505 这个怎么查询???
自己已解决$data['qishiyue']=$this->input->get('year').'-'.$this->input->get('month').'-01 0:0:0';
$y=$this->input->get('year');//指定的年
$m=$this->input->get('month');//指定的月
$d=date('j',mktime(0,0,1,($m==12?1:$m+1),1,($m==12?$y+1:$y))-24*3600);
//echo $d;
$data['zhongshiyue']=$this->input->get('year').'-'.$this->input->get('month').'-'.$d.' 0:0:0';
$duqu=$this->zm_model->zm_dq($this->input->get('type'),$data); 本帖最后由 Closer 于 2015-6-15 10:31 编辑
l585826 发表于 2015-6-14 12:13
自己已解决
可以考慮這樣用 :
C端
$gt = $this->input->get(NULL, TRUE);
$gt['year'] = (int) $gt['year'];
$gt['year'] = $gt['year']>=1970&&$gt['year']<=9999 ? $gt['year'] : '1970' ;
$gt['month'] = (int) $gt['month'];
$gt['month'] = $gt['month']>=1&&$gt['month']<=12 ? $gt['month'] : '01' ;
$gt['month'] = strlen($gt['month'])==1 ? '0'.$gt['month'] : $gt['month'] ;
$s = $gt['year'] . '-' . $gt['month'] . '-01 00:00:00';
$e = $gt['year'] . '-' . $gt['month'] . '-31 23:59:59';
$date_array = array(
'create_date >=' => $s,
'create_date <=' => $e
);
$duqu = $this->zm_model->zm_dq($table_name, $date_array);
M端
public function zm_dq($table_name, $date_array){
$q = $this->db->where($date_array)->order_by('create_date', 'desc')->get($table_name);
if($q->num_rows() > 0){
return $q->result_array();
}
return;
}
如果存進資料庫時使用的是 date()
那麼就不必太在意每個月底是不是 28, 30, 31
因為我們要查詢的只是一個 "範圍"
另外,像 24*3600 這種,能先給 86400 就先給
不然每次執行時,PHP 都要耗費額外資源來處理運算
同理於 if ($i=0;$i<count($id);$i++) 中的 count()
Closer 发表于 2015-6-15 10:02
可以考慮這樣用 :
C端
谢谢你,有一段时间没有上线,所以现在才看到。。
再请教一个问题
CI框架中CodeIgniter.php文件中第39行
self:instance =& $this;
是&$this什么意思?&$this如何理解?$this不也是引用么?为什么不直接用self:instance = $this;???
FROM_UNIXTIME用这个格式化时间戳
页:
[1]