-
Notifications
You must be signed in to change notification settings - Fork 0
/
all_data.php
88 lines (84 loc) · 3.85 KB
/
all_data.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
$config_file = (object) parse_ini_file("config.ini");
$bddConn = new PDO('mysql:host='.$config_file->servername.';dbname='.$config_file->database.';charset=utf8', $config_file->username, $config_file->password);
$output = array(
'exitcode' => 500,
'message' => 'Internal Server Error'
);
switch ($_SERVER['REQUEST_METHOD'])
{
case 'GET':
if ($_GET['data'] === 'temperature')
{
$output['nb_hours'] = 0;
for ($i = 0; $i < 24; $i++) {
$day_and_hour = $_GET['day'] . ' ' . strval($i) . ':00:00';
$day_and_hour_plus_1 = $_GET['day'] . ' ' . strval($i + 1) . ':00:00';
$getAvgDaily = 'SELECT AVG(temperature) AS "avg_temperature" FROM data WHERE date_ >= "'.$day_and_hour.'" AND date_ < "'.$day_and_hour_plus_1.'"';
$requestGetAvgDaily = $bddConn->query($getAvgDaily);
$temp_result = $requestGetAvgDaily->fetch();
if ($temp_result['avg_temperature'] != NULL)
{
$output['nb_hours']++;
$output += [ $i => $temp_result['avg_temperature'] ];
}
else
{
$output += [ $i => 0.0 ];
}
$output['exitcode'] = 200;
$output['message'] = 'Ok ! Data sent !';
}
}
else if ($_GET['data'] === 'humidity')
{
$output['nb_hours'] = 0;
for ($i = 0; $i < 24; $i++) {
$day_and_hour = $_GET['day'] . ' ' . strval($i) . ':00:00';
$day_and_hour_plus_1 = $_GET['day'] . ' ' . strval($i + 1) . ':00:00';
$getAvgDaily = 'SELECT AVG(humidity) AS "avg_humidity" FROM data WHERE date_ >= "'.$day_and_hour.'" AND date_ < "'.$day_and_hour_plus_1.'"';
$requestGetAvgDaily = $bddConn->query($getAvgDaily);
$temp_result = $requestGetAvgDaily->fetch();
if ($temp_result['avg_humidity'] != NULL)
{
$output['nb_hours']++;
$output += [ $i => $temp_result['avg_humidity'] ];
}
else
{
$output += [ $i => 0.0 ];
}
$output['exitcode'] = 200;
$output['message'] = 'Ok ! Data sent !';
}
}
else if ($_GET['data'] === 'pressure')
{
$output['nb_hours'] = 0;
for ($i = 0; $i < 24; $i++) {
$day_and_hour = $_GET['day'] . ' ' . strval($i) . ':00:00';
$day_and_hour_plus_1 = $_GET['day'] . ' ' . strval($i + 1) . ':00:00';
$getAvgDaily = 'SELECT AVG(pressure) AS "avg_pressure" FROM data WHERE date_ >= "'.$day_and_hour.'" AND date_ < "'.$day_and_hour_plus_1.'"';
$requestGetAvgDaily = $bddConn->query($getAvgDaily);
$temp_result = $requestGetAvgDaily->fetch();
if ($temp_result['avg_pressure'] != NULL)
{
$output['nb_hours']++;
$output += [ $i => $temp_result['avg_pressure'] ];
}
else
{
$output += [ $i => 0.0 ];
}
$output['exitcode'] = 200;
$output['message'] = 'Ok ! Data sent !';
}
}
break;
default:
$output['exitcode'] = 501;
$output['message'] = 'Method not implemented';
break;
}
echo json_encode($output, JSON_PRETTY_PRINT);
?>