query data from database properly

This commit is contained in:
Aaska Black Wolf
2026-06-02 23:58:59 +02:00
parent 2394e8cb0b
commit 2b4128b2f2
+6 -6
View File
@@ -9,7 +9,6 @@
*/ */
$config = readConfig(); $config = readConfig();
print_r($config);
queryMonitors(); queryMonitors();
@@ -42,23 +41,24 @@ function sendMessage($message) {
function queryMonitors() { function queryMonitors() {
global $config; global $config;
// establish database connection // establish database connection
$dbPath = (str_starts_with($config->database, '/')) ? $config->database : dirname(__FILE__) . '/../' . $config->database; $dbPath = (str_starts_with($config->database, '/')) ? $config->database : dirname(__FILE__) . '/' . $config->database;
try { try {
$db = new SQLite3($dbPath, SQLITE3_OPEN_READONLY); $db = new SQLite3($dbPath, SQLITE3_OPEN_READONLY);
} }
catch (Exception $e) { catch (Exception $e) {
print ('error detected: ' . $e->getMessage() . "\r\n");
return false; return false;
} }
// query devices from database // query devices from database
$sql = "SELECT name FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%' AND name <> 'meta' ORDER BY name ASC;"; $sql = "SELECT name FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%' AND name <> 'meta' ORDER BY name ASC;";
$data = queryDb($sql); $data = $db->query($sql);
// process every device found on database // process every device found on database
foreach( $data as $device) { while( $device = $data->fetchArray(SQLITE3_ASSOC) ) {
// query device data from database // query device data from database
$sql = "SELECT * FROM $device->name ORDER BY date DESC, time DESC LIMIT 1;"; $sql = "SELECT * FROM '" . $device['name'] . "' ORDER BY date DESC, time DESC LIMIT 1;";
$res = $db->query($sql)->fetchArray(SQLITE3_NUM); $res = $db->query($sql)->fetchArray(SQLITE3_NUM);
$dataset = json_decode($res[0][2]); $dataset = json_decode($res[2]);
print_r($dataset); print_r($dataset);
// process configured monitors // process configured monitors