所以我正在建立一个我正在为工作而建立的网站的统计部分(经理要求)。我有一个'24小时'图表的功能代码。图形代码我有完美的工作,但我有麻烦得到正确的代码为mysql根据天而不是小时拉出数据
以下每小时代码
function get_hourly_graph() {
// First lets create a daily graph for experiment then we can build on that
date_default_timezone_set('Australia/Sydney');
$current_hour = date('H');
// SQL Query to get data we want
$sql = mysql_query("SELECT hour( time_hit ) AS hour , count( hour( time_hit ) ) AS hits FROM hits WHERE time_hit > now( ) - INTERVAL 1 DAY GROUP BY hour( time_hit );")
or die(mysql_error());
// Remove an hour off current time for array and the loop that will put the data into the array
$array_hour = $current_hour - 1;
// Add a 0 if the timer is under 10. just so this is compatable with the SQL data
if ($array_hour < 10) {
$array_hour = 0 . $array_hour;
}
// initialise the array so we can set up the indexes and data in the next couple of loops
$hit_data = array();
// Work back the clock 24 hours and create the array indexes
for ($i = 0; $i < 24; $i++) {
$new_hour = $current_hour;
if ($new_hour < 1) {
$new_hour = 24;
$hit_data[$new_hour] = "0";
}
else {
$hit_data[$new_hour] = "0";
}
$current_hour = $new_hour - 1;
}
// Loop through the rest of the array and replace null with 0s
while ($results = mysql_fetch_array($sql, MYSQL_ASSOC)) {
foreach ($hit_data as $hour => $hits) {
if ($results['hour'] == $hour) {
$hit_data[$hour] = $results['hits'];
}
}
}
$hit_data = array_reverse($hit_data, true);
// Generate the graph for the 24 hour data
generate_graph ($hit_data, '24 Hour Report', 'hourly_graph.png', 'Time (Hours)', 'Hits');
}
'hits'表基本上是3个字段'hit_id''ip_address''timestamp',它位于'YYYY-MM-DD hh:mm:ss'=“2011-08-04 12:40:34”< / p>
如何更改下面的sql代码以使用几天而不是几小时?
答案 0 :(得分:1)
SELECT DATE_FORMAT('date_column', '%Y-%m-%e') as day ...... group by day
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
答案 1 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!--Script Reference[1]-->
<script src="https://cdn.zingchart.com/zingchart.min.js"></script>
</head>
<body>
<!--Chart Placement[2]-->
<div id="chartDiv"></div>
<script>
var chartData = {
type: "bar", // Specify your chart type here.
title: {
text: "My First Chart" // Adds a title to your chart
},
legend: {}, // Creates an interactive legend
series: [ // Insert your series data here.
{ values: [10, 42, 67, 89,70]},
]
};
zingchart.render({ // Render Method[3]
id: "chartDiv",
data: chartData,
height: 400,
width: 400
});
</script>
</body>
</html>
&#13;