2016-02-12 124 views
0

如何根据数据库中的日期基于日期格式计算1年/ 1年的数据量?我使用codeigniter计数日期每月,每年与数据库日期格式与CodeIgniter

实施例

日期2016年2月10日

2016年5月19日

2016年7月20日

2016年2月30日

二零一六年五月二十零日

2016年5月21日

结果计数

数据上芒斯二月= 2个

数据上Mounth May = 3

Mounth上的数据Jul = 1

这我的脚本

<?php 
     $sql = "SELECT * FROM tbcounter "; 
     $get_monthly = " WHERE date LIKE '".date("Y-m")."%'"; 
     $monthly = mysql_num_rows(mysql_query($sql . $get_monthly));  
     echo $monthly;      
?> 
+0

请添加更多的细节问题,因为它不清楚 – noor

+0

@noor,谢谢你noor我更新我的问题,我想如果这个月2月有多少访客月2月和其他月份。从日期格式的数据库检索数据 –

+0

为什么你没有使用活动类? – Bugfixer

回答

1

您可以使用DATE_FORMAT(date_column, 'desired_output')在这个例子中: - 您可以在http://php.net/manual/en/function.date.php

$date_variable = date("Y-m",strtotime('last month')); //prints 2016-01 
echo $this->db->get_where("tbcounter",array("DATE_FORMAT(`date`,'%Y-%m')"=> $date_variable))->num_rows(); 

这读到日期功能是演示代码:)

+0

@Paveen库马尔nice..good ...你能给一个变量的例子 –

+0

@Duwiirwanto更新我的答案检查现在:) –

+0

@Paveen库马尔,你的答案是非常有帮助nice..workk,但我怎么做年份和月份变量?你能给我一个例子 –

0

对于每年和每月计数数据,您可以使用

GROUP BY YEAR(date), MONTH(date) 

在您的查询。

例子:

SELECT count(*) 
FROM `TableNAme` 
GROUP BY YEAR(`Date`) 
LIMIT 0 , 30 


SELECT count(*) 
FROM `TableNAme` 
GROUP BY MONTH(`Date`) 
LIMIT 0 , 30 

这里Date是在表的列名。

+0

感谢@Bugfixer的答案,但结果并不在数据库中的数据相匹配? –

+0

列'Date'的数据类型是什么。 .... Varchar或日期或日期时间 – Bugfixer

+0

其列日期 –

相关问题