Wechselkurse/html/show.php

173 lines
3.7 KiB
PHP

<?php
/*
* Anzeige der Wechselkurse
* mit Auswahl des Tages
* und Grafik für eine Währung
*
* Datenbank: wechselkurse
* Tabelle: kurse (id*, datum, waehrung, kurs)
*
* April 2017
*/
include_once("./db.php");
$db = new DB("wechselkurse", "username","password");
$anzahl = 7;
if (isset($_GET["dauer"])) $anzahl = $_GET["dauer"];
$anzahl1 = $anzahl*4; // pro Tag 4 Zeilen
$datum = "";
$filter = "";
if (isset($_GET["datum"])) {
$datum = $_GET["datum"];
$filter = " WHERE datum='$datum'";
$anzahl = 0;
}
$waehrung = "USD";
if (isset($_GET["waehrung"])) $waehrung = $_GET["waehrung"];
$server = "https://gussmann-berlin.de/wechselkurs";
$table = "kurse";
$max = 0;
$min = 0;
$avg = 0;
function calculateMinMaxAvg($waehrung) {
global $min;
global $max;
global $avg;
global $db;
$sql = "SELECT min(kurs) as MIN1, max(kurs) as MAX1, avg(kurs) as AVG1 from kurse WHERE waehrung='$waehrung' ORDER BY datum DESC";
$result = $db->get_Query($sql);
if ($result != null) {
$zeile = $result[0];
$min = $zeile["MIN1"];
$max = $zeile["MAX1"];
$avg = $zeile["AVG1"];
}
}
function getMax() {
global $max;
return $max;
}
function getMin() {
global $min;
return $min;
}
function getAvg() {
global $avg;
return $avg;
}
?>
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="kurse.css">
<style> /* set the CSS */
</style>
</head>
<body>
<script src="https://d3js.org/d3.v3.min.js"></script>
<script src="chart.js"></script>
<h2>Wechselkurse der europäischen Zentralbank</h2>
<div style="float:left; width:350px;">
<h3> Wechselkurse für <?php echo "$datum"; ?></h3>
Datum:
<?php echo $db->getQueryAsHTMLDropDownBox("SELECT DISTINCT(datum) from kurse ORDER BY datum desc", "$server/show.php?datum=", "", "datum") ?>
<br />
<br />
<?php
$sql = "SELECT datum, waehrung, kurs FROM $table $filter ORDER BY datum DESC LIMIT $anzahl1";
echo $db->getQueryAsTEXTTable($sql,"%-12s %-5s %10f")
?>
</div>
<div style="float:left;margin-left:20px; width:350px;">
<h3> Kursentwicklung für</h3>
Währung:
<?php
$sqlW = "SELECT DISTINCT(waehrung) from kurse ORDER BY waehrung";
echo $db->getQueryAsHTMLDropDownBox($sqlW, "$server/show.php?waehrung=", "JPY", "waehrung");
?>
<br />
<br />
<?php
$sqlW = "SELECT * from kurse WHERE waehrung='$waehrung' ORDER BY datum DESC";
echo $db->getQueryAsTEXTTable($sqlW,"%-5s %-12s %-5s %10f");
?>
</div>
<br />
<!--*****************************************************
* Beginn Ausgabe der Kursentwicklung als Diagramm
***************************************************** -->
<div style="float:left;margin-left:20px; padding-top:80px;">
<div id="graphCurrency">
<script>
<?php
$sqlW = "SELECT datum as zeit, kurs as value from kurse WHERE waehrung='$waehrung' ORDER BY datum DESC";
$json_data = $db->getJSON_Data($sqlW);
echo "data=".$json_data.";"
?>
showDiagram1Line("Währung","","Zeit", "", 600, 300, data, 0, "<?php echo $waehrung; ?><br>=1 Euro", "#graphCurrency");
</script>
<?php
calculateMinMaxAvg($waehrung);
$min1 = getMin();
$max1 = getMax();
$avg1 = getAvg();
$median = ($max1+$min1)/2;
$dmin = ($avg1-$min1)/$avg1*100;
$dmax = ($max1-$avg1)/$avg1*100;
?>
<pre>
min ..... <?php echo sprintf("%01.4f",$min1)."<br>" ?>
max ..... <?php echo sprintf("%01.4f",$max1)."<br>" ?>
avg ..... <?php echo sprintf("%01.4f",$avg1)."<br>" ?>
median ... <?php echo sprintf("%01.4f",$median)."<br>" ?>
dmin ..... <?php echo sprintf("%01.2f ",$dmin)."%" ?>
dmax ..... <?php echo sprintf("%01.2f ",$dmax)."%" ?>
</pre>
</div>
</div>
</div>
</body>
</html>