DEV Community

´ε 𝐭𝐡𝐯
´ε 𝐭𝐡𝐯

Posted on

REST API A11.2021.13640

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);
Enter fullscreen mode Exit fullscreen mode

} 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?)

Additional Resources/Info

Top comments (0)