Files
TUGAS_SIG_JOHANESSATRIACHRI…/Projek Jalan/Projek/api/config.php
T

57 lines
1.6 KiB
PHP

<?php
// Database configuration
define('DB_PATH', __DIR__ . '/../db/markers.db');
// Create db directory if it doesn't exist
if (!is_dir(__DIR__ . '/../db')) {
mkdir(__DIR__ . '/../db', 0755, true);
}
// Connect to SQLite database
function getDB() {
try {
$db = new PDO('sqlite:' . DB_PATH);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Initialize database schema
initializeDB($db);
return $db;
} catch (PDOException $e) {
die(json_encode(['error' => 'Database connection failed: ' . $e->getMessage()]));
}
}
// Initialize database schema
function initializeDB($db) {
$db->exec('
CREATE TABLE IF NOT EXISTS markers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255) NOT NULL,
latitude REAL NOT NULL,
longitude REAL NOT NULL,
open_24_hours BOOLEAN DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS roads (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255) NOT NULL,
status VARCHAR(100) NOT NULL,
length REAL NOT NULL,
coordinates TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS parcels (
id INTEGER PRIMARY KEY AUTOINCREMENT,
owner_status VARCHAR(100) NOT NULL,
area REAL NOT NULL,
coordinates TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
');
}
// Set JSON header
header('Content-Type: application/json');
?>