diff --git a/web/admin.php b/web/admin.php index f03344f00f446633cff0c4ca4e17fa0cc05ff8bd..f352ec185456d0c55eec654dab8f5934eebb2bab 100644 --- a/web/admin.php +++ b/web/admin.php @@ -57,30 +57,30 @@ if (!$loggedIn){ if (isset($_GET["allow"])){ $allow = $_GET["allow"]; - $query = "SELECT * FROM tbl_unregistered WHERE id = ".$allow; + $query = "SELECT * FROM ".$TBL_UNREGISTERED." WHERE id = ".$allow; $result = $link->query($query); while($row = $result->fetch_assoc()) { $clientAddress = $row["clientAddress"]; $exist = true; } if ($exist){ - $query = "INSERT INTO tbl_addresses(address) VALUES('".$clientAddress."')"; + $query = "INSERT INTO ".$TBL_ADDRESSES."(address) VALUES('".$clientAddress."')"; $result = $link->query($query); - $query = "DELETE FROM tbl_unregistered WHERE id = ".$allow; + $query = "DELETE FROM ".$TBL_UNREGISTERED." WHERE id = ".$allow; $result = $link->query($query); } }elseif (isset($_GET["remove"])) { $remove = $_GET["remove"]; - $query = "SELECT * FROM tbl_addresses WHERE id = ".$remove; + $query = "SELECT * FROM ".$TBL_ADDRESSES." WHERE id = ".$remove; $result = $link->query($query); while($row = $result->fetch_assoc()) { $exist = true; } if ($exist){ - $query = "DELETE FROM tbl_addresses WHERE id = ".$remove; + $query = "DELETE FROM ".$TBL_ADDRESSES." WHERE id = ".$remove; $result = $link->query($query); } @@ -116,7 +116,7 @@ if (!$loggedIn){ <?php $sql = new SQL(); $link = $sql->getLink(); - $query = "SELECT * FROM tbl_unregistered"; + $query = "SELECT * FROM ".$TBL_UNREGISTERED.""; $result = $link->query($query); while($row = $result->fetch_assoc()) { @@ -153,7 +153,7 @@ if (!$loggedIn){ <?php $sql = new SQL(); $link = $sql->getLink(); - $query = "SELECT * FROM tbl_addresses"; + $query = "SELECT * FROM ".$TBL_ADDRESSES.""; $result = $link->query($query); while($row = $result->fetch_assoc()) { diff --git a/web/api/lastUpdate.php b/web/api/lastUpdate.php index 3657251f6750eb126a85cc9ac8887cd5f42d15d0..5d9296a052a325c1c9d375941a7fa4f6b6f3e001 100644 --- a/web/api/lastUpdate.php +++ b/web/api/lastUpdate.php @@ -4,10 +4,12 @@ if (isset($_POST["param"])){ require_once("../classes/SQL.php"); +include("../include/config.php"); + $sql = new SQL(); $link = $sql->getLink(); - $query = "SELECT tbl_data.id as id, tbl_parameter.param as param, tbl_data.value as value, DATE_FORMAT(tbl_data.timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (tbl_register INNER JOIN tbl_parameter ON tbl_register.id = tbl_parameter.fid_register) INNER JOIN tbl_data ON tbl_parameter.id = tbl_data.fid_parameter WHERE tbl_data.fid_parameter = ".$_POST["param"]." ORDER BY tbl_data.id DESC LIMIT 1"; + $query = "SELECT ".$TBL_DATA.".id as id, ".$TBL_PARAMETER.".param as param, ".$TBL_DATA.".value as value, DATE_FORMAT(".$TBL_DATA.".timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (".$TBL_REGISTER." INNER JOIN ".$TBL_PARAMETER." ON ".$TBL_REGISTER.".id = ".$TBL_PARAMETER.".fid_register) INNER JOIN ".$TBL_DATA." ON ".$TBL_PARAMETER.".id = ".$TBL_DATA.".fid_parameter WHERE ".$TBL_DATA.".fid_parameter = ".$_POST["param"]." ORDER BY ".$TBL_DATA.".id DESC LIMIT 1"; $result = $link->query($query); while($row = $result->fetch_assoc()) { diff --git a/web/details.php b/web/details.php index 5066d5b94aa211a33c5cce12999e3ccc03b3a2ec..d30f56acc04287a6bdc74bc27576c4e168df7045 100644 --- a/web/details.php +++ b/web/details.php @@ -9,7 +9,7 @@ $sql = new SQL(); $link = $sql->getLink(); if (isset($_GET["param"])){ - $query = "SELECT * FROM (tbl_register INNER JOIN tbl_parameter ON tbl_register.id = tbl_parameter.fid_register) INNER JOIN tbl_data ON tbl_parameter.id = tbl_data.fid_parameter WHERE tbl_data.fid_parameter = ".$_GET["param"]." LIMIT 1"; + $query = "SELECT * FROM (".$TBL_REGISTER." INNER JOIN ".$TBL_PARAMETER." ON ".$TBL_REGISTER.".id = ".$TBL_PARAMETER.".fid_register) INNER JOIN ".$TBL_DATA." ON ".$TBL_PARAMETER.".id = ".$TBL_DATA.".fid_parameter WHERE ".$TBL_DATA.".fid_parameter = ".$_GET["param"]." LIMIT 1"; $result = $link->query($query); while($row = $result->fetch_assoc()) { @@ -57,7 +57,7 @@ if (isset($_GET["param"])){ <tbody> '; - $query = "SELECT count(*) as amount FROM tbl_data WHERE tbl_data.fid_parameter = ".$_GET["param"]; + $query = "SELECT count(*) as amount FROM ".$TBL_DATA." WHERE ".$TBL_DATA.".fid_parameter = ".$_GET["param"]; $result = $link->query($query); while($row = $result->fetch_assoc()) { $amount = $row["amount"]; @@ -77,7 +77,7 @@ if (isset($_GET["param"])){ - $query = "SELECT tbl_data.id as id, tbl_parameter.param as param, tbl_data.value as value, DATE_FORMAT(tbl_data.timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (tbl_register INNER JOIN tbl_parameter ON tbl_register.id = tbl_parameter.fid_register) INNER JOIN tbl_data ON tbl_parameter.id = tbl_data.fid_parameter WHERE tbl_data.fid_parameter = ".$_GET["param"]." ORDER BY tbl_data.id DESC LIMIT ".$TABLELINESPERPAGE." OFFSET ".(($page-1)*$TABLELINESPERPAGE); + $query = "SELECT ".$TBL_DATA.".id as id, ".$TBL_PARAMETER.".param as param, ".$TBL_DATA.".value as value, DATE_FORMAT(".$TBL_DATA.".timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (".$TBL_REGISTER." INNER JOIN ".$TBL_PARAMETER." ON ".$TBL_REGISTER.".id = ".$TBL_PARAMETER.".fid_register) INNER JOIN ".$TBL_DATA." ON ".$TBL_PARAMETER.".id = ".$TBL_DATA.".fid_parameter WHERE ".$TBL_DATA.".fid_parameter = ".$_GET["param"]." ORDER BY ".$TBL_DATA.".id DESC LIMIT ".$TABLELINESPERPAGE." OFFSET ".(($page-1)*$TABLELINESPERPAGE); $result = $link->query($query); while($row = $result->fetch_assoc()) { diff --git a/web/graph.php b/web/graph.php index 492efafc544007d74714a7c2912feea4a899875d..384738f4e68fc8aad69b557e78196a4f4342da64 100644 --- a/web/graph.php +++ b/web/graph.php @@ -36,7 +36,7 @@ if (isset($_GET["param"])){ // Reduziere Anzahl der Daten auf X-Achse // 10 Prozent der Gesamtanzahl sind die Marken, die zwischen der ersten und letzten Marke hinzugefügt werden sollen. // Beispiel: 20 Messungen => - if (count($dataX) > 3){ + if (count($dataX) > 2){ // 10% an weiteren Markern // Bestimme 10 Prozent. Beispiel: 20 Messungen => 2 => Aufteilung in 3 gleichgroße Teile @@ -48,7 +48,7 @@ if (isset($_GET["param"])){ for ($i = 1; $i<count($dataX)-1; $i++){ if ($showDetails){ if ($i == $marker){ - $marker = $marker + $anzahl; + $marker = $marker + $anzahl; }else{ $dataX[$i] = ""; } diff --git a/web/include/config.php b/web/include/config.php index cf028512751ab29b598523dd5389b54453192bb6..858bd96f02c97318cedabee6432a72f632b4c614 100644 --- a/web/include/config.php +++ b/web/include/config.php @@ -3,15 +3,22 @@ $TBL_PARAMETER = "tbl_parameter"; $TBL_REGISTER = "tbl_register"; $TBL_DATA = "tbl_data"; +$TBL_ADDRESSES = "tbl_addresses"; +$TBL_UNREGISTERED = "tbl_unregistered"; + $GRAPHPOINTS = -50; $THUMBSIZE = 4; // 1 min, 12 max $TABLELINESPERPAGE = 50; // Wenn letzte Nachricht älter als X Stunden, wird das Gerät aus dem Dashboard entfernt -$DEVICEOFFLINETIME = 10; +$DEVICEOFFLINETIME = 24; + +$REFRESHINTERVAL = 25; // +++++++++++++++++ DONT DO ANY CHANGES AFTER THIS LINE ++++++++++++++++++ + $DEVICEOFFLINETIME = $DEVICEOFFLINETIME * 60; +$REFRESHINTERVAL = $REFRESHINTERVAL * 1000; ?> \ No newline at end of file diff --git a/web/index.php b/web/index.php index 45705ca7a4b3feab4ba80bc7b80b5763cf82c6db..524273886fb8b8e7fb9ba7ad6ee0ed6faa2402b8 100755 --- a/web/index.php +++ b/web/index.php @@ -17,10 +17,8 @@ $sql = new SQL(); $link = $sql->getLink(); $graphs = array(); -$query = "SELECT clientAddress, name, max(tbl_data.timestamp) as date, fid_register FROM tbl_addresses INNER JOIN ((tbl_register INNER JOIN tbl_parameter ON tbl_register.id = tbl_parameter.fid_register) INNER JOIN tbl_data ON tbl_parameter.id = tbl_data.fid_parameter) ON tbl_addresses.address = tbl_register.clientAddress WHERE fid_register IN (SELECT max(id) FROM tbl_register group by clientAddress) AND tbl_data.timestamp > (NOW() - INTERVAL ".$DEVICEOFFLINETIME." MINUTE) group by fid_register"; - - - +// Alle Clients mit dem Timestamp ihres zuletzt gesendeten Parameter +$query = "SELECT clientAddress, name, max(".$TBL_DATA.".timestamp) as date, fid_register FROM ".$TBL_ADDRESSES." INNER JOIN ((".$TBL_REGISTER." INNER JOIN ".$TBL_PARAMETER." ON ".$TBL_REGISTER.".id = ".$TBL_PARAMETER.".fid_register) INNER JOIN ".$TBL_DATA." ON ".$TBL_PARAMETER.".id = ".$TBL_DATA.".fid_parameter) ON ".$TBL_ADDRESSES.".address = ".$TBL_REGISTER.".clientAddress WHERE fid_register IN (SELECT max(id) FROM ".$TBL_REGISTER." group by clientAddress) AND ".$TBL_DATA.".timestamp > (NOW() - INTERVAL ".$DEVICEOFFLINETIME." MINUTE) group by fid_register"; $result = $link->query($query); while($row = $result->fetch_assoc()) { @@ -35,7 +33,8 @@ while($row = $result->fetch_assoc()) { <div class="row">'; - $query2 = "SELECT type, fid_parameter, param, value, DATE_FORMAT(tbl_data.timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (tbl_register INNER JOIN tbl_parameter ON tbl_register.id = tbl_parameter.fid_register) INNER JOIN tbl_data ON tbl_parameter.id = tbl_data.fid_parameter WHERE tbl_register.id = ".$row["fid_register"]." AND tbl_data.id IN (SELECT max(id) FROM tbl_data group by fid_parameter) ORDER BY tbl_parameter.id"; + // Alle Parameter und Werte zu einem konkreten Client (von der äußeren Schleife kommend) + $query2 = "SELECT type, fid_parameter, param, value, DATE_FORMAT(".$TBL_DATA.".timestamp, '%d.%m.%Y %H:%i:%s') as date FROM (".$TBL_REGISTER." INNER JOIN ".$TBL_PARAMETER." ON ".$TBL_REGISTER.".id = ".$TBL_PARAMETER.".fid_register) INNER JOIN ".$TBL_DATA." ON ".$TBL_PARAMETER.".id = ".$TBL_DATA.".fid_parameter WHERE ".$TBL_REGISTER.".id = ".$row["fid_register"]." AND ".$TBL_DATA.".id IN (SELECT max(id) FROM ".$TBL_DATA." group by fid_parameter) ORDER BY ".$TBL_PARAMETER.".id"; $result2 = $link->query($query2); while($row2 = $result2->fetch_assoc()) { @@ -69,6 +68,8 @@ while($row = $result->fetch_assoc()) { } + +// Refreshfunktionen echo ' <script> setInterval(function() { @@ -87,8 +88,12 @@ setInterval(function() { $("#v'.$param.'").text(response.value); });'; } + + if (count($graphs) == 0){ + echo 'location.reload();'; + } echo ' -}, 25000); +}, '.$REFRESHINTERVAL.'); </script> '; ?>