33 lines
1.2 KiB
PHP
33 lines
1.2 KiB
PHP
<?php
|
|
// includes/sql_config.php
|
|
require_once __DIR__ . '/db.php';
|
|
|
|
$sql_config = [];
|
|
$fallback_json_path = __DIR__ . '/sql_config.json';
|
|
$fallback_config = file_exists($fallback_json_path) ? json_decode(file_get_contents($fallback_json_path), true) : [];
|
|
|
|
if (isset($pdo_dashboard) && $pdo_dashboard) {
|
|
try {
|
|
$stmt = $pdo_dashboard->query("SELECT section_name, query_key, sql_text FROM waiting");
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$sql_config[$row['section_name']][$row['query_key']] = $row['sql_text'];
|
|
}
|
|
} catch (\PDOException $e) {
|
|
// อาจจะยังไม่มีตาราง waiting ให้ fallback ไปใช้ JSON ก่อน
|
|
}
|
|
}
|
|
|
|
// หากใน DB ไม่มีข้อมูลบาง key จะดึงจาก JSON มาเติมให้สมบูรณ์ (Fallback)
|
|
if (is_array($fallback_config)) {
|
|
foreach ($fallback_config as $section => $keys) {
|
|
if (!isset($sql_config[$section])) {
|
|
$sql_config[$section] = [];
|
|
}
|
|
foreach ($keys as $key => $sql) {
|
|
if (!isset($sql_config[$section][$key])) {
|
|
$sql_config[$section][$key] = $sql;
|
|
}
|
|
}
|
|
}
|
|
}
|