81 lines
2.5 KiB
PHP
81 lines
2.5 KiB
PHP
<?php
|
|
// api/parsil.php — CRUD untuk data Parsil Tanah (Polygon)
|
|
require_once 'config.php';
|
|
|
|
$db = getDB();
|
|
$method = $_SERVER['REQUEST_METHOD'];
|
|
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
|
|
|
|
switch ($method) {
|
|
|
|
case 'GET':
|
|
if ($id) {
|
|
$stmt = $db->prepare("SELECT * FROM parsil WHERE id = ?");
|
|
$stmt->bind_param('i', $id);
|
|
$stmt->execute();
|
|
$row = $stmt->get_result()->fetch_assoc();
|
|
echo json_encode($row ?: ['error' => 'Data tidak ditemukan']);
|
|
} else {
|
|
$res = $db->query("SELECT * FROM parsil ORDER BY id DESC");
|
|
$rows = [];
|
|
while ($r = $res->fetch_assoc()) $rows[] = $r;
|
|
echo json_encode($rows);
|
|
}
|
|
break;
|
|
|
|
case 'POST':
|
|
$body = json_decode(file_get_contents('php://input'), true);
|
|
$stmt = $db->prepare(
|
|
"INSERT INTO parsil (nama_pemilik, status_sertifikat, luas_m2, geojson)
|
|
VALUES (?, ?, ?, ?)"
|
|
);
|
|
$stmt->bind_param(
|
|
'ssds',
|
|
$body['nama_pemilik'], $body['status_sertifikat'],
|
|
$body['luas_m2'], $body['geojson']
|
|
);
|
|
if ($stmt->execute()) {
|
|
echo json_encode(['success' => true, 'id' => $db->insert_id]);
|
|
} else {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => $db->error]);
|
|
}
|
|
break;
|
|
|
|
case 'PUT':
|
|
$body = json_decode(file_get_contents('php://input'), true);
|
|
$stmt = $db->prepare(
|
|
"UPDATE parsil SET nama_pemilik=?, status_sertifikat=?, luas_m2=?, geojson=?
|
|
WHERE id=?"
|
|
);
|
|
$stmt->bind_param(
|
|
'ssdsi',
|
|
$body['nama_pemilik'], $body['status_sertifikat'],
|
|
$body['luas_m2'], $body['geojson'],
|
|
$body['id']
|
|
);
|
|
if ($stmt->execute()) {
|
|
echo json_encode(['success' => true]);
|
|
} else {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => $db->error]);
|
|
}
|
|
break;
|
|
|
|
case 'DELETE':
|
|
$stmt = $db->prepare("DELETE FROM parsil WHERE id=?");
|
|
$stmt->bind_param('i', $id);
|
|
if ($stmt->execute()) {
|
|
echo json_encode(['success' => true]);
|
|
} else {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => $db->error]);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
http_response_code(405);
|
|
echo json_encode(['error' => 'Method tidak diizinkan']);
|
|
}
|
|
$db->close();
|