display huge graphics
This commit is contained in:
parent
72ec45df44
commit
c6e60e6579
278
html/index.php
278
html/index.php
@ -1,73 +1,227 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="60">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
||||||
|
<title>Info an Coronavirus</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include '../config.php';
|
include '../config.php';
|
||||||
|
|
||||||
$sql = "SELECT * FROM sites WHERE active=1";
|
//grafik
|
||||||
|
$sql = "SELECT scans.id, place, amount, time FROM `data` inner join scans on scans.id=data.scan WHERE place like 'Germany' group by amount order by time asc ";
|
||||||
|
$stmt = $pdo->query($sql);
|
||||||
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
?>
|
||||||
|
|
||||||
echo '<table>';
|
<div class="container" style="height: 1000px; width: 100%; position: relative">
|
||||||
foreach ($pdo->query($sql) as $row){
|
<canvas id="germany-chart" style="height: 100%; width: 100%"></canvas>
|
||||||
echo '<tr><td><a href="index.php?source='.$row['id'].'&type='.$row['type'].'">'.$row['title'].'</a></td><td>'.$row['link'].'</td></tr>';
|
</div>
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_GET['source'])){
|
<script>
|
||||||
if (!isset($_GET['time'])){
|
let myChart = document.getElementById('germany-chart').getContext('2d');
|
||||||
$sql = "SELECT * FROM scans WHERE site=? order by id desc";
|
|
||||||
$stmt = $pdo->prepare($sql);
|
// Global Options
|
||||||
$stmt->bindParam(1, $_GET['source']);
|
Chart.defaults.global.defaultFontFamily = 'Lato';
|
||||||
$stmt->execute();
|
Chart.defaults.global.defaultFontSize = 18;
|
||||||
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
Chart.defaults.global.defaultFontColor = '#777';
|
||||||
echo '<table>';
|
|
||||||
foreach ($data as $row){
|
let massPopChart = new Chart(myChart, {
|
||||||
echo '<tr><td><a href="index.php?source='.$_GET['source'].'&time='.$row['id'].'&type='.$_GET['type'].'">'.$row['time'].'</a></td></tr>';
|
type:'bar', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
|
||||||
}
|
data:{
|
||||||
echo '</table>';
|
labels:[
|
||||||
}else{
|
<?php
|
||||||
if (isset($_GET['type'])){
|
for ($i = 0 ; $i < count($data); $i++){
|
||||||
if ($_GET['type'] == 'csv'){
|
if ($i == 0){
|
||||||
$sql = "SELECT content FROM scans WHERE id=?";
|
echo "'".$data[$i]['time']."'";
|
||||||
$stmt = $pdo->prepare($sql);
|
}else{
|
||||||
$stmt->bindParam(1, $_GET['time']);
|
echo ', \''.$data[$i]['time']."'";
|
||||||
$stmt->execute();
|
|
||||||
$csv = $stmt->fetchAll(PDO::FETCH_ASSOC)[0]['content'];
|
|
||||||
$test = str_getcsv($csv, ",", "\"", "\\");
|
|
||||||
echo '<pre>';
|
|
||||||
var_dump($test);
|
|
||||||
echo '</pre>';
|
|
||||||
echo '<table>';
|
|
||||||
for ($i = 0; $i < count($test); $i++){
|
|
||||||
if ($i+1 % 12 == 0){
|
|
||||||
echo '</tr><tr>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<td>'.$test[$i].'</td>';
|
|
||||||
}
|
}
|
||||||
echo'<table>';
|
?>
|
||||||
}else{
|
],
|
||||||
if ($_GET['type'] == 'html');
|
datasets:[{
|
||||||
$sql = "SELECT * FROM data WHERE scan=? order by amount desc";
|
label:'Anzahl',
|
||||||
$stmt = $pdo->prepare($sql);
|
data:[
|
||||||
$stmt->bindParam(1, $_GET['time']);
|
<?php
|
||||||
$stmt->execute();
|
for ($i = 0 ; $i < count($data); $i++){
|
||||||
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
if ($i == 0){
|
||||||
echo '<table>';
|
echo "".$data[$i]['amount']."";
|
||||||
echo '<tr><th>id</th><th>Scan-No</th><th>Place</th><th>infected</th><th>dead</th><th>active</th><th>cured</th></tr>';
|
}else{
|
||||||
foreach ($data as $row){
|
echo ', '.$data[$i]['amount']."";
|
||||||
echo '<tr>';
|
}
|
||||||
echo '<td>'.$row['id'].'</td><td>'.$row['scan'].'</td><td><a href="laender.php?land='.$row['place'].'">'.$row['place'].'</a></td><td>'.$row['amount'].'</td><td>'.$row['deaths'].'</td><td>'.$row['active'].'</td><td>'.$row['cured'].'</td>';
|
}
|
||||||
echo '</tr>';
|
?>
|
||||||
|
],
|
||||||
|
//backgroundColor:'green',
|
||||||
|
backgroundColor:[
|
||||||
|
/*'rgba(255, 99, 132, 0.6)',
|
||||||
|
'rgba(54, 162, 235, 0.6)',
|
||||||
|
'rgba(255, 206, 86, 0.6)',
|
||||||
|
'rgba(75, 192, 192, 0.6)',
|
||||||
|
'rgba(153, 102, 255, 0.6)',
|
||||||
|
'rgba(255, 159, 64, 0.6)',
|
||||||
|
'rba(255, 99, 132, 0.6)'*/
|
||||||
|
],
|
||||||
|
borderWidth:1,
|
||||||
|
borderColor:'#777',
|
||||||
|
hoverBorderWidth:3,
|
||||||
|
hoverBorderColor:'#000'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options:{
|
||||||
|
responsive: false,
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
title:{
|
||||||
|
display:true,
|
||||||
|
text:'Anzahl der Infektionsfälle in Deutschland',
|
||||||
|
fontSize:25
|
||||||
|
},
|
||||||
|
legend:{
|
||||||
|
display:true,
|
||||||
|
position:'right',
|
||||||
|
labels:{
|
||||||
|
fontColor:'#000'
|
||||||
}
|
}
|
||||||
echo '</table>';
|
},
|
||||||
|
layout:{
|
||||||
|
padding:{
|
||||||
|
left:0,
|
||||||
|
right:0,
|
||||||
|
bottom:0,
|
||||||
|
top:0
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltips:{
|
||||||
|
enabled:true
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
$sql = "SELECT * FROM data WHERE scan=?";
|
|
||||||
$stmt = $pdo->prepare($sql);
|
|
||||||
$stmt->bindParam(1, $_GET['time']);
|
|
||||||
$stmt->execute();
|
|
||||||
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
echo '<table>';
|
|
||||||
foreach ($data as $row){
|
|
||||||
echo '<tr><td>'.$row['place'].'</td><td>'.$row['amount'].'</td></tr>';
|
|
||||||
}
|
|
||||||
echo '</table>';
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
//Tabelle
|
||||||
|
$sql = "SELECT * FROM data where scan = (select MAX(scans.id) from scans inner join data on data.scan=scans.id where site=1) order by amount desc";
|
||||||
|
echo '<h2>Fallzahlen in Deutschland - Nach Robert Koch Institut</h2>';
|
||||||
|
echo '<table style="width: 50%">';
|
||||||
|
echo '<tr><th>Platz</th><th>Land</th><th>kumulative Fallzahl</th></tr>';
|
||||||
|
$i = 1;
|
||||||
|
foreach ($pdo->query($sql) as $row){
|
||||||
|
echo '<tr><td>'.$i.'</td><td>'.str_replace("D-", "", $row['place']).'</td><td>'.$row['amount'].'</td></tr>';
|
||||||
|
$i++;
|
||||||
}
|
}
|
||||||
|
echo '</table>';
|
||||||
|
|
||||||
|
//grafik
|
||||||
|
$sql = "SELECT scans.id, place, amount, time FROM `data` inner join scans on scans.id=data.scan WHERE place like '%total%' group by amount order by time asc ";
|
||||||
|
$stmt = $pdo->query($sql);
|
||||||
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="container" style="height: 1000px; width: 100%; position: relative">
|
||||||
|
<canvas id="total-chart" style="width: 100%; height: 100%"></canvas>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let my2ndChart = document.getElementById('total-chart').getContext('2d');
|
||||||
|
|
||||||
|
// Global Options
|
||||||
|
Chart.defaults.global.defaultFontFamily = 'Lato';
|
||||||
|
Chart.defaults.global.defaultFontSize = 18;
|
||||||
|
Chart.defaults.global.defaultFontColor = '#777';
|
||||||
|
|
||||||
|
let massPopChart2 = new Chart(my2ndChart, {
|
||||||
|
type:'bar', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
|
||||||
|
data:{
|
||||||
|
labels:[
|
||||||
|
<?php
|
||||||
|
for ($i = 0 ; $i < count($data); $i++){
|
||||||
|
if ($i == 0){
|
||||||
|
echo "'".$data[$i]['time']."'";
|
||||||
|
}else{
|
||||||
|
echo ', \''.$data[$i]['time']."'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
],
|
||||||
|
datasets:[{
|
||||||
|
label:'Anzahl',
|
||||||
|
data:[
|
||||||
|
<?php
|
||||||
|
for ($i = 0 ; $i < count($data); $i++){
|
||||||
|
if ($i == 0){
|
||||||
|
echo "".$data[$i]['amount']."";
|
||||||
|
}else{
|
||||||
|
echo ', '.$data[$i]['amount']."";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
],
|
||||||
|
//backgroundColor:'green',
|
||||||
|
backgroundColor:[
|
||||||
|
/*'rgba(255, 99, 132, 0.6)',
|
||||||
|
'rgba(54, 162, 235, 0.6)',
|
||||||
|
'rgba(255, 206, 86, 0.6)',
|
||||||
|
'rgba(75, 192, 192, 0.6)',
|
||||||
|
'rgba(153, 102, 255, 0.6)',
|
||||||
|
'rgba(255, 159, 64, 0.6)',
|
||||||
|
'rba(255, 99, 132, 0.6)'*/
|
||||||
|
],
|
||||||
|
borderWidth:1,
|
||||||
|
borderColor:'#777',
|
||||||
|
hoverBorderWidth:3,
|
||||||
|
hoverBorderColor:'#000'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options:{
|
||||||
|
responsive: false,
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
title:{
|
||||||
|
display:true,
|
||||||
|
text:'Anzahl der Infektionsfälle Weltweit',
|
||||||
|
fontSize:25
|
||||||
|
},
|
||||||
|
legend:{
|
||||||
|
display:true,
|
||||||
|
position:'right',
|
||||||
|
labels:{
|
||||||
|
fontColor:'#000'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
layout:{
|
||||||
|
padding:{
|
||||||
|
left:0,
|
||||||
|
right:0,
|
||||||
|
bottom:0,
|
||||||
|
top:0
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltips:{
|
||||||
|
enabled:true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$sql = "SELECT * FROM data where scan = (select MAX(scans.id) from scans inner join data on data.scan=scans.id where site=2) order by active desc limit 50";
|
||||||
|
echo '<h2>Weltweite Daten - Top 50</h2>';
|
||||||
|
echo '<table style="width: 100%">';
|
||||||
|
echo '<tr><th>Platz</th><th>Land</th><th>Aktive Fälle</th><th>kumulative Fallzahl</th><th>geheilte</th><th>Todesfälle</th></tr>';
|
||||||
|
$i = 1;
|
||||||
|
foreach ($pdo->query($sql) as $row){
|
||||||
|
echo '<tr><td>'.$i.'</td><td>'.$row['place'].'</td><td>'.$row['active'].'</td><td>'.$row['amount'].'</td><td>'.$row['cured'].'</td><td>'.$row['deaths'].'</td></tr>';
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
?>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1,18 +1,73 @@
|
|||||||
<?php
|
<?php
|
||||||
include '../config.php';
|
include '../config.php';
|
||||||
|
|
||||||
echo 'Stand in Deutschland:';
|
$sql = "SELECT * FROM sites WHERE active=1";
|
||||||
|
|
||||||
$sql = "SELECT id, place, amount FROM `data` WHERE scan=(SELECT MAX(id) FROM `scans` WHERE site=1) and place like 'D-%' ORDER BY amount DESC";
|
|
||||||
echo '<table>';
|
echo '<table>';
|
||||||
foreach ($pdo->query($sql) as $row){
|
foreach ($pdo->query($sql) as $row){
|
||||||
echo '<tr><td>'.str_replace("D-", "", $row['place']).'</td><td>'.$row['amount'].'</td></tr>';
|
echo '<tr><td><a href="index.php?source='.$row['id'].'&type='.$row['type'].'">'.$row['title'].'</a></td><td>'.$row['link'].'</td></tr>';
|
||||||
}
|
}
|
||||||
echo '<table>';
|
|
||||||
echo '<br><br>';
|
if (isset($_GET['source'])){
|
||||||
$sql = "SELECT id, place, amount FROM `data` WHERE scan=(SELECT MAX(id) FROM `scans` WHERE site=2) ORDER BY amount DESC";
|
if (!isset($_GET['time'])){
|
||||||
echo '<table>';
|
$sql = "SELECT * FROM scans WHERE site=? order by id desc";
|
||||||
foreach ($pdo->query($sql) as $row){
|
$stmt = $pdo->prepare($sql);
|
||||||
echo '<tr><td>'.$row['place'].'</td><td>'.$row['amount'].'</td></tr>';
|
$stmt->bindParam(1, $_GET['source']);
|
||||||
|
$stmt->execute();
|
||||||
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
echo '<table>';
|
||||||
|
foreach ($data as $row){
|
||||||
|
echo '<tr><td><a href="index.php?source='.$_GET['source'].'&time='.$row['id'].'&type='.$_GET['type'].'">'.$row['time'].'</a></td></tr>';
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
}else{
|
||||||
|
if (isset($_GET['type'])){
|
||||||
|
if ($_GET['type'] == 'csv'){
|
||||||
|
$sql = "SELECT content FROM scans WHERE id=?";
|
||||||
|
$stmt = $pdo->prepare($sql);
|
||||||
|
$stmt->bindParam(1, $_GET['time']);
|
||||||
|
$stmt->execute();
|
||||||
|
$csv = $stmt->fetchAll(PDO::FETCH_ASSOC)[0]['content'];
|
||||||
|
$test = str_getcsv($csv, ",", "\"", "\\");
|
||||||
|
echo '<pre>';
|
||||||
|
var_dump($test);
|
||||||
|
echo '</pre>';
|
||||||
|
echo '<table>';
|
||||||
|
for ($i = 0; $i < count($test); $i++){
|
||||||
|
if ($i+1 % 12 == 0){
|
||||||
|
echo '</tr><tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '<td>'.$test[$i].'</td>';
|
||||||
|
}
|
||||||
|
echo'<table>';
|
||||||
|
}else{
|
||||||
|
if ($_GET['type'] == 'html');
|
||||||
|
$sql = "SELECT * FROM data WHERE scan=? order by amount desc";
|
||||||
|
$stmt = $pdo->prepare($sql);
|
||||||
|
$stmt->bindParam(1, $_GET['time']);
|
||||||
|
$stmt->execute();
|
||||||
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
echo '<table>';
|
||||||
|
echo '<tr><th>id</th><th>Scan-No</th><th>Place</th><th>infected</th><th>dead</th><th>active</th><th>cured</th></tr>';
|
||||||
|
foreach ($data as $row){
|
||||||
|
echo '<tr>';
|
||||||
|
echo '<td>'.$row['id'].'</td><td>'.$row['scan'].'</td><td><a href="laender.php?land='.$row['place'].'">'.$row['place'].'</a></td><td>'.$row['amount'].'</td><td>'.$row['deaths'].'</td><td>'.$row['active'].'</td><td>'.$row['cured'].'</td>';
|
||||||
|
echo '</tr>';
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$sql = "SELECT * FROM data WHERE scan=?";
|
||||||
|
$stmt = $pdo->prepare($sql);
|
||||||
|
$stmt->bindParam(1, $_GET['time']);
|
||||||
|
$stmt->execute();
|
||||||
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
echo '<table>';
|
||||||
|
foreach ($data as $row){
|
||||||
|
echo '<tr><td>'.$row['place'].'</td><td>'.$row['amount'].'</td></tr>';
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
echo '<table>';
|
|
||||||
|
@ -43,7 +43,7 @@ foreach ($data as $scan){
|
|||||||
for ($i = 0; $i < $parts->length; $i++) {
|
for ($i = 0; $i < $parts->length; $i++) {
|
||||||
$country = array();
|
$country = array();
|
||||||
$p2 = $parts[$i]->childNodes;
|
$p2 = $parts[$i]->childNodes;
|
||||||
$country[] = $p2[0]->textContent;
|
$country[] = trim($p2[0]->textContent);
|
||||||
/*for ($j=0; $j < $p2->length; $j++){
|
/*for ($j=0; $j < $p2->length; $j++){
|
||||||
var_dump($p2[$j]->textContent);
|
var_dump($p2[$j]->textContent);
|
||||||
}*/
|
}*/
|
||||||
@ -52,6 +52,8 @@ foreach ($data as $scan){
|
|||||||
$deaths = $p2[$deathsCol]->textContent;
|
$deaths = $p2[$deathsCol]->textContent;
|
||||||
$recovered = $p2[$recoveredCol]->textContent;
|
$recovered = $p2[$recoveredCol]->textContent;
|
||||||
$active = $p2[$activeCol]->textContent;
|
$active = $p2[$activeCol]->textContent;
|
||||||
|
//var_dump($activeCol);
|
||||||
|
//var_dump($p2);
|
||||||
$country[] = intval(str_replace(",", "", $p2[2]->textContent));
|
$country[] = intval(str_replace(",", "", $p2[2]->textContent));
|
||||||
$country[] =intval(str_replace(",", "", $deaths));
|
$country[] =intval(str_replace(",", "", $deaths));
|
||||||
$country[] =intval(str_replace(",", "", $active));
|
$country[] =intval(str_replace(",", "", $active));
|
||||||
|
Loading…
Reference in New Issue
Block a user