<?php
// Max Base
// https://github.com/BaseMax/CoronaVirusDatabase
define("BASE", __DIR__ . "/");
require_once "_core.php";
require_once "_netphp.php";
$fileName="response.json";
$url_api="https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/2/query?f=json&where=Confirmed%20%3E%200&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=Confirmed%20desc&resultOffset=0&resultRecordCount=1000&cacheHint=true";
function parseCheck() {
global $fileName;
parseContent(file_get_contents($fileName));
}
function parseContent($data) {
global $db;
$json=json_decode($data, true);
$features=$json["features"];
$items=[];
foreach($features as $feature) {
$items[]=$feature["attributes"];
}
// print_r($items);
// OBJECTID, Country_Region, Last_Update, Lat, Long_, Confirmed, Deaths, Recovered
foreach($items as $item) {
$clauses=[
"name"=>strtolower($item["Country_Region"]),
];
$values=[
"name"=>strtolower($item["Country_Region"]),
"totalCase"=>$item["Confirmed"],
"totalRecovered"=>$item["Recovered"],
"totalDeath"=>$item["Deaths"],
];
if($db->count("country", $clauses) == 0) {
$db->insert("country", $values);
}
else {
if($db->count("country", $values) == 0) {
// skip
}
else {
print "Update...\n";
$db->update("country", $clauses, $values);
}
}
}
}
if(isset($argv) and isset($argv[1]) and $argv[1] == "update") {
$res=get($url_api);
file_put_contents($fileName, $res[0]);
parseContent($res[0]);
}
// else {
// if(file_exists($fileName)) {
// parseContent(file_get_contents($fileName));
// }
// else {
// exit("Error: file not exists!\n");
// }
// }
|