|
1 | 1 | <?php |
2 | 2 | $db = new PDO('sqlite:./stats.db'); |
3 | | - $db->query('CREATE TABLE IF NOT EXISTS stats (id INTEGER, agent TEXT, point TEXT, value REAL, time TIMESTAMP, PRIMARY KEY (id))'); |
| 3 | + $db->query('CREATE TABLE IF NOT EXISTS stats (id INTEGER, agent TEXT, point TEXT, value REAL, time TIMESTAMP, pathname TEXT, PRIMARY KEY (id))'); |
4 | 4 |
|
5 | 5 | // making a sad attempt here to provide a clean REST-respecting url scheme. |
6 | 6 | // stats with a GET returns - wait for it - the stats, and a post with the |
7 | 7 | // the right params will create a new entry |
8 | 8 | if ( $_SERVER['REQUEST_METHOD'] == "GET" ) { |
9 | 9 | $json = Array(); |
10 | | - $st = $db->prepare( 'SELECT agent, point, value, time FROM stats' ); |
| 10 | + $st = $db->prepare( 'SELECT point, avg(value) as avg_value, pathname, strftime(\'%Y-%m-%d\', time) as day FROM stats GROUP BY pathname, point, strftime(\'%Y-%m-%d\', time);' ); |
11 | 11 | $st->execute(); |
12 | 12 | $result = $st->fetchAll(PDO::FETCH_ASSOC); |
13 | 13 | header("Content-Type: application/json"); |
14 | 14 | echo json_encode($result); |
15 | | - } elseif ( $_POST['datapoint'] && $_POST['value'] && $_POST['agent'] ) { |
16 | | - $st = $db->prepare('INSERT INTO stats (agent, point, value, time) VALUES (:agent, :data_point, :value, DATETIME(\'now\'))'); |
| 15 | + } elseif ( $_POST['datapoint'] && $_POST['value'] && $_POST['agent'] && $_POST['pathname']) { |
| 16 | + $st = $db->prepare('INSERT INTO stats (agent, point, value, pathname, time) VALUES (:agent, :data_point, :value, :pathname, DATETIME(\'now\'))'); |
17 | 17 | $st->execute(array( |
18 | 18 | ':agent' => $_POST['agent'], |
19 | 19 | ':data_point' => $_POST['datapoint'], |
20 | | - ':value' => $_POST['value'] |
| 20 | + ':value' => $_POST['value'], |
| 21 | + ':pathname' => $_POST['pathname'] |
21 | 22 | )); |
22 | 23 |
|
23 | 24 | echo "success"; |
|
0 commit comments