What I built
<?php
$file_db = "curhat.db";
try {
$pdo = new PDO("sqlite:$file_db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$sql_create = "CREATE TABLE IF NOT EXISTS 'curhat' (
'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,
'nama' text NOT NULL,
'konten' text NOT NULL,
'created_at' datetime NOT NULL DEFAULT CURRENT_TIMESTAMP)";
$pdo->exec($sql_create);
} catch (PDOException $e) {
throw new PDOException($e->getMessage(), (int)$e->getCode());
}
header('Content-Type: application/json');
/**
- Method REST:
- - GET: untuk mendapatkan data dari server
- - POST: untuk menginputkan data baru
- - PUT: untuk mengupdate data yang sudah ada
- - DELETE: untuk menghapus data */
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
# untuk mengakses data dari server
$query = 'select * from curhat order by created_at desc';
$stmt = $pdo->prepare($query);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} else if ($_SERVER['REQUEST_METHOD'] === 'POST') {
# untuk menambahkan data baru dari server
$nama = $_POST['nama'];
$konten = $_POST['konten'];
$query = "insert into curhat (nama, konten) values (?, ?)";
$stmt = $pdo->prepare($query);
$res = $stmt->execute([$nama, $konten]);
if ($res){
$data = ['nama'=>$nama, 'konten'=>$konten];
echo json_encode($data);
}else{
echo json_encode(['error'=>$stmt->errorCode()]);
}
} else if ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
# untuk menghapus data dari server
$id = $_GET['id'];
$query = "delete from curhat where id = ?";
$stmt = $pdo->prepare($query);
$res = $stmt->execute([$id]);
if ($res){
$data = ['id'=>$id];
echo json_encode($data);
} else {
echo json_encode(['error'=>$stmt->errorCode()]);
}
}
Category Submission:
App Link
Screenshots
Description
Link to Source Code
Permissive License
Background
(What made you decide to build this particular app? What inspired you?)
How I built it
(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)
Top comments (0)