From 8a42b7aaa52224779f0f2212fd90565e62eec2c0 Mon Sep 17 00:00:00 2001 From: johannnes Date: Thu, 27 Jun 2013 19:32:29 +0000 Subject: [PATCH] extended tabledataquerys to realize more specific querys from frontend git-svn-id: https://svn.fhem.de/fhem/trunk@3345 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/93_DbLog.pm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/93_DbLog.pm b/fhem/FHEM/93_DbLog.pm index cbc6d46e6..cc189996d 100644 --- a/fhem/FHEM/93_DbLog.pm +++ b/fhem/FHEM/93_DbLog.pm @@ -976,8 +976,25 @@ sub prepareSql(@) { } elsif($userquery eq "getcharts") { $sql = "SELECT * FROM frontend WHERE TYPE = 'savedchart'"; } elsif($userquery eq "getTableData") { - $countsql = "SELECT count(*) FROM history"; - $sql = "SELECT * FROM history LIMIT ".$paginglimit." OFFSET ".$pagingstart; + if ($device ne '""' && $yaxis ne '""') { + $sql = "SELECT * FROM history WHERE READING = '$yaxis' AND DEVICE = '$device' "; + $sql .= "AND TIMESTAMP Between '$starttime' AND '$endtime'"; + $sql .= " LIMIT '$paginglimit' OFFSET '$pagingstart'"; + $countsql = "SELECT count(*) FROM history WHERE READING = '$yaxis' AND DEVICE = '$device' "; + $countsql .= "AND TIMESTAMP Between '$starttime' AND '$endtime'"; + } elsif($device ne '""' && $yaxis eq '""') { + $sql = "SELECT * FROM history WHERE DEVICE = '$device' "; + $sql .= "AND TIMESTAMP Between '$starttime' AND '$endtime'"; + $sql .= " LIMIT '$paginglimit' OFFSET '$pagingstart'"; + $countsql = "SELECT count(*) FROM history WHERE DEVICE = '$device' "; + $countsql .= "AND TIMESTAMP Between '$starttime' AND '$endtime'"; + } else { + $sql = "SELECT * FROM history"; + $sql .= " WHERE TIMESTAMP Between '$starttime' AND '$endtime'"; + $sql .= " LIMIT '$paginglimit' OFFSET '$pagingstart'"; + $countsql = "SELECT count(*) FROM history"; + $countsql .= " WHERE TIMESTAMP Between '$starttime' AND '$endtime'"; + } return ($sql, $countsql); } else { $sql = "error";