View difference between Paste ID: XDjQkWMC and ufmYkHyi
SHOW: | | - or go back to the newest paste.
1-
<?php
1+
<pre><?php
2
// Create connection
3
$con=mysqli_connect("localhost","root","","ci");
4
5
//Получаем метку даты 30 дневной давности о оформляем его в удобовариемый mysql-ем вид
6
$last30d=date("c",strtotime("-30 day"));
7
8-
//Делаем выборку событий из базы старше нужного
8+
//Делаем выборку событий из базы старше нужного. Дату обрезаем до дня и конвертируем в таймштамп.
9-
$sql = "SELECT * , SUM(value), DATE_FORMAT(`time_added`,'%Y-%m-%d') FROM `stats` WHERE time_added>'$last30d'  GROUP BY DAY(`time_added`)";
9+
$sql = "SELECT * , SUM(value), UNIX_TIMESTAMP(DATE_FORMAT(time_added, \"%Y-%m-%d\")) FROM `stats` WHERE time_added>'$last30d'  GROUP BY DAY(`time_added`)";
10
$res=mysqli_query($con,$sql);
11
while($row=mysqli_fetch_array($res, MYSQLI_ASSOC)) {
12
	// убираем громоздкие имена ячеек массива с таймштампом
13-
}
13+
	$row['timestamp']=$row['UNIX_TIMESTAMP(DATE_FORMAT(time_added, "%Y-%m-%d"))'];
14
	unset($row['UNIX_TIMESTAMP(DATE_FORMAT(time_added, "%Y-%m-%d"))']);
15
16
	$days[] = $row;
17
}//print_r($days);
18
?>
19
</pre>
20
21
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
22
<script type="text/javascript">
23
	// Load the Visualization API library and the piechart library.
24
	google.load('visualization', '1.0', {'packages':['corechart']});
25
	google.setOnLoadCallback(drawChart);
26
	// ... draw the chart...
27
28
	function drawChart() {
29
	// Create the data table.
30-
		foreach($days as $key=>$day) {
30+
31-
		list($y,$m,$d)=explode("-",$day['DATE_FORMAT(`time_added`,\'%Y-%m-%d\')']);
31+
32-
		$m--; //потому что в JS месяцы нумеруются от нуля
32+
33-
		echo "[new Date($y, $m, $d), {$day['SUM(value)']}],\n";
33+
34
		<?
35
		foreach($days as $day) {
36
			echo "[new Date({$day['timestamp']}*1000), {$day['SUM(value)']}],\n";
37
		}
38
		?>
39
	]);
40
	var options = {
41
		'title'  : 'Поисковых запросов, в день:',
42
		'width'  : 900,
43
		'height' : 200,
44
		'legend' : {
45
			'position':'none'
46
		},
47
		'titleTextStyle':{
48
			'fontName' : 'Georgia',
49
			'fontSize' : 20,
50
			'bold'     : false},
51
		chartArea: {
52
			width: '100%'
53
		},
54
		vAxis: {
55
			textPosition: 'in',
56
			minValue: 0
57
		},
58
	};
59
60
	// Instantiate and draw our chart, passing in some options.
61
	var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
62
	chart.draw(data, options);
63
	}
64
</script>
65
<div id="chart_div" style="width: 900px; height: 200px;"></div>