Première version, destinée à l'historisation des données
This commit is contained in:
commit
a6cd981915
40
barometre.php
Normal file
40
barometre.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
$villes_ALM = array(49007, 49015, 49020, 49028, 49035, 49048, 49055, 4129, 49130, 49135, 49307, 49200, 49214, 49223, 49241, 49246, 49377, 49267, 49271, 49294, 49298, 49306, 49278, 49326, 49329, 49338, 49339, 49353, 49434);
|
||||
$json_address = "https://www.barometre-velo.fr/stats/progress.geojson";
|
||||
|
||||
$base = new SQlite3('barometre.sqlite');
|
||||
|
||||
// Mise à jour des données
|
||||
$last_check = $base->querySingle("SELECT last FROM last_check");
|
||||
if ($last_check ===null || date_add(new DateTime($last_check), DateInterval::createFromDateString('1 hour')) < new DateTime()) {
|
||||
$json = file_get_contents($json_address);
|
||||
if ($json !== false) {
|
||||
$decoded = json_decode($json, true);
|
||||
foreach($decoded['features'] as $value) {
|
||||
if(in_array($value['properties']['insee'], $villes_ALM)) {
|
||||
$ville = $base->querySingle("SELECT * FROM Villes WHERE code_INSEE=".$value['properties']['insee'].";", true);
|
||||
if ($ville == array()) {
|
||||
$base->query("INSERT INTO Villes VALUES (".$value['properties']['insee'].", \"".$value['properties']['name']."\");");
|
||||
$base->query("INSERT INTO chiffres VALUES(\"".$decoded['date']."\", ".$value['properties']['insee'].", ".$value['properties']['contributions'].");");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
$base->query("DELETE FROM last_check;");
|
||||
$base->query("INSERT INTO last_check VALUES ('".$decoded['date']."');");
|
||||
$last_check = $decoded['date'];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Comptage et affichage
|
||||
$compte = $base->querySingle("SELECT SUM(nombre) FROM chiffres WHERE date = \"".$last_check."\";");
|
||||
echo "<p>Heure du relevé : <b>".date_format(date_create($last_check),"d/m/Y H:i:s")."</b></p>\n";
|
||||
echo "<p>Total des réponses pour ALM : <b>".$compte."</b></p>\n";
|
||||
echo "<hr/>\n<table>\n";
|
||||
$compte = $base->query("SELECT * FROM chiffres c natural join villes v");
|
||||
while( $line = $compte->fetchArray()) {
|
||||
echo "<tr><td>{$line['nom']}</td><td>{$line['nombre']}</td></tr>\n";
|
||||
}
|
||||
echo "</table>\n";
|
BIN
barometre.sqlite
Normal file
BIN
barometre.sqlite
Normal file
Binary file not shown.
BIN
barometre_orig.sqlite
Normal file
BIN
barometre_orig.sqlite
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user