52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<?php
|
|
if (!defined('DB_HOST')) {
|
|
$cfg = __DIR__ . '/config.php';
|
|
if (file_exists($cfg)) require_once $cfg;
|
|
}
|
|
$host = defined('DB_HOST') ? DB_HOST : (getenv('DB_HOST') ?: '127.0.0.1');
|
|
$user = defined('DB_USER') ? DB_USER : (getenv('DB_USER') ?: 'root');
|
|
$pass = defined('DB_PASS') ? DB_PASS : (getenv('DB_PASS') ?: '');
|
|
$name = defined('DB_NAME') ? DB_NAME : (getenv('DB_NAME') ?: 'db_webgis');
|
|
$port = defined('DB_PORT') ? (int)DB_PORT : (int)(getenv('DB_PORT') ?: 3306);
|
|
$conn = mysqli_connect($host, $user, $pass, $name, $port);
|
|
if (!$conn) {
|
|
die(json_encode(['status' => 'error', 'message' => 'Koneksi database gagal: ' . mysqli_connect_error()]));
|
|
}
|
|
mysqli_set_charset($conn, 'utf8mb4');
|
|
|
|
if (!isset($GLOBALS['tugas_setup'])) {
|
|
$GLOBALS['tugas_setup'] = true;
|
|
$conn->query("CREATE TABLE IF NOT EXISTS spbu (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
nomor VARCHAR(50),
|
|
status_24jam ENUM('Ya','Tidak') DEFAULT 'Tidak',
|
|
lat DECIMAL(10,7) NOT NULL,
|
|
lng DECIMAL(10,7) NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS jalan (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama_jalan VARCHAR(255) NOT NULL,
|
|
status_jalan VARCHAR(100),
|
|
panjang_m DECIMAL(10,2),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS persil (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nomor_persil VARCHAR(100),
|
|
status_milik VARCHAR(100),
|
|
luas_m2 DECIMAL(10,2),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS wilayah (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255),
|
|
tipe VARCHAR(100),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
}
|