mencoba connect database
This commit is contained in:
+37
-54
@@ -1,13 +1,32 @@
|
||||
<?php
|
||||
// ============================================================
|
||||
// KONFIGURASI DATABASE – WebGIS SPBU
|
||||
// File: config.php
|
||||
// ============================================================
|
||||
$host_sekarang = $_SERVER['HTTP_HOST'];
|
||||
|
||||
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
||||
define('DB_PASS', getenv('DB_PASS') !== false ? getenv('DB_PASS') : '');
|
||||
define('DB_NAME', getenv('SPBU_DB_NAME') ?: 'webgis_spbu');
|
||||
if (strpos($host_sekarang, 'localhost') !== false || strpos($host_sekarang, '127.0.0.1') !== false) {
|
||||
$host = "localhost";
|
||||
$user = "root";
|
||||
$pass = "";
|
||||
$db = "webgis_spbu";
|
||||
} else {
|
||||
$host = "to00g0c4cwsws8gsoc4c08og";
|
||||
$user = "mysql";
|
||||
$pass = "FzeWTKBJzGMHk47S6UI0w0wdFLKbANsrfoFDZDwVnxNDFS1qtBT9lFFcTfyJgdcf";
|
||||
$db = "webgis_spbu";
|
||||
}
|
||||
|
||||
$conn = new mysqli($host, $user, $pass);
|
||||
if ($conn->connect_error) {
|
||||
http_response_code(500);
|
||||
die(json_encode(['error' => 'Koneksi MySQL gagal: ' . $conn->connect_error]));
|
||||
}
|
||||
|
||||
$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
|
||||
$conn->select_db($db);
|
||||
$conn->set_charset('utf8mb4');
|
||||
|
||||
function getDB() {
|
||||
global $conn;
|
||||
return $conn;
|
||||
}
|
||||
|
||||
function jsonError($message, $code = 500) {
|
||||
http_response_code($code);
|
||||
@@ -15,32 +34,8 @@ function jsonError($message, $code = 500) {
|
||||
exit();
|
||||
}
|
||||
|
||||
function getDB() {
|
||||
mysqli_report(MYSQLI_REPORT_OFF);
|
||||
|
||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS);
|
||||
if ($conn->connect_error) {
|
||||
http_response_code(500);
|
||||
die(json_encode(['error' => 'Koneksi MySQL gagal: ' . $conn->connect_error]));
|
||||
}
|
||||
|
||||
$dbName = DB_NAME;
|
||||
if (!$conn->query("CREATE DATABASE IF NOT EXISTS `{$dbName}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
|
||||
http_response_code(500);
|
||||
die(json_encode(['error' => 'Gagal membuat database: ' . $conn->error]));
|
||||
}
|
||||
|
||||
if (!$conn->select_db($dbName)) {
|
||||
http_response_code(500);
|
||||
die(json_encode(['error' => 'Gagal memilih database: ' . $conn->error]));
|
||||
}
|
||||
|
||||
$conn->set_charset('utf8mb4');
|
||||
return $conn;
|
||||
}
|
||||
|
||||
function ensureSpbuSchema($db) {
|
||||
if (!$db->query("
|
||||
$db->query("
|
||||
CREATE TABLE IF NOT EXISTS data_spbu (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_spbu VARCHAR(200) NOT NULL,
|
||||
@@ -52,15 +47,7 @@ function ensureSpbuSchema($db) {
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
|
||||
")) {
|
||||
jsonError('Gagal membuat tabel data_spbu: ' . $db->error);
|
||||
}
|
||||
|
||||
$check = $db->query("SHOW COLUMNS FROM data_spbu LIKE 'alamat'");
|
||||
if ($check && $check->num_rows === 0) {
|
||||
$db->query("ALTER TABLE data_spbu ADD COLUMN alamat VARCHAR(300) NOT NULL DEFAULT '' AFTER nama_spbu");
|
||||
$db->query("UPDATE data_spbu SET alamat = CONCAT(nama_spbu, ', Pontianak') WHERE alamat = ''");
|
||||
}
|
||||
");
|
||||
|
||||
$countRes = $db->query("SELECT COUNT(*) AS total FROM data_spbu");
|
||||
if ($countRes && (int)$countRes->fetch_assoc()['total'] === 0) {
|
||||
@@ -70,20 +57,15 @@ function ensureSpbuSchema($db) {
|
||||
|
||||
function seedSpbuSampleData($db) {
|
||||
$samples = [
|
||||
['SPBU Jl. Ahmad Yani', 'Jl. Ahmad Yani No. 12, Pontianak', '0812-1111-0001', 'Ya', -0.0400, 109.3200],
|
||||
['SPBU Jl. Gajah Mada', 'Jl. Gajah Mada No. 45, Pontianak', '0812-1111-0002', 'Ya', -0.0520, 109.3450],
|
||||
['SPBU Jl. Diponegoro', 'Jl. Diponegoro No. 88, Pontianak', '0812-1111-0003', 'Tidak', -0.0610, 109.3600],
|
||||
['SPBU Jl. Sutan Syahrir', 'Jl. Sutan Syahrir No. 5, Pontianak', '0812-1111-0004', 'Tidak', -0.0480, 109.3700],
|
||||
['SPBU Jl. Ahmad Yani', 'Jl. Ahmad Yani No. 12, Pontianak', '0812-1111-0001', 'Ya', -0.0400, 109.3200],
|
||||
['SPBU Jl. Gajah Mada', 'Jl. Gajah Mada No. 45, Pontianak', '0812-1111-0002', 'Ya', -0.0520, 109.3450],
|
||||
['SPBU Jl. Diponegoro', 'Jl. Diponegoro No. 88, Pontianak', '0812-1111-0003', 'Tidak', -0.0610, 109.3600],
|
||||
['SPBU Jl. Sutan Syahrir', 'Jl. Sutan Syahrir No. 5, Pontianak', '0812-1111-0004', 'Tidak', -0.0480, 109.3700],
|
||||
['SPBU Jl. Kom. Yos Sudarso', 'Jl. Kom. Yos Sudarso No. 22, Pontianak', '0812-1111-0005', 'Ya', -0.0350, 109.3550],
|
||||
['SPBU Jl. Tanjung Raya', 'Jl. Tanjung Raya No. 101, Pontianak', '0812-1111-0006', 'Tidak', -0.0580, 109.3300],
|
||||
['SPBU Jl. Veteran', 'Jl. Veteran No. 33, Pontianak', '0812-1111-0007', 'Ya', -0.0450, 109.3380],
|
||||
['SPBU Jl. Tanjung Raya', 'Jl. Tanjung Raya No. 101, Pontianak', '0812-1111-0006', 'Tidak', -0.0580, 109.3300],
|
||||
['SPBU Jl. Veteran', 'Jl. Veteran No. 33, Pontianak', '0812-1111-0007', 'Ya', -0.0450, 109.3380],
|
||||
];
|
||||
|
||||
$stmt = $db->prepare(
|
||||
"INSERT INTO data_spbu (nama_spbu, alamat, no_wa, buka_24_jam, latitude, longitude)
|
||||
VALUES (?, ?, ?, ?, ?, ?)"
|
||||
);
|
||||
|
||||
$stmt = $db->prepare("INSERT INTO data_spbu (nama_spbu, alamat, no_wa, buka_24_jam, latitude, longitude) VALUES (?, ?, ?, ?, ?, ?)");
|
||||
foreach ($samples as $row) {
|
||||
[$nama, $alamat, $wa, $jam, $lat, $lng] = $row;
|
||||
$stmt->bind_param('ssssdd', $nama, $alamat, $wa, $jam, $lat, $lng);
|
||||
@@ -101,3 +83,4 @@ if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
||||
http_response_code(200);
|
||||
exit();
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user