Menambah dan Mengubah Data

Sudah menampilkan data? kalihatannya sudah, terus? sekarang Anda akan menambahkan dan perbarui data yang mana sangat berguna sekali. Tentu saja hal ini jangan sampai terlewat begitu saja, karena kalau sampai terlewat tentu bagaimana cara menambahkan dan perbaiki kesalahan data pada basis datanya.

Daftar isi:

Menambahkan Data

Saat menambahkan data maka Anda akan menggunakan metode POST, silakan salin dan tempelkan skrip dibawah ini pada berkas user-create.php.

<?php

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {

    http_response_code(405);

    echo json_encode([
        'message' => 'Method tidak ditemukan.'
    ]);

    return;

}

include 'config.php';

// penjelasan
$data = json_decode(file_get_contents('php://input'));

$sql = "INSERT INTO users(name, email, age) VALUES (
    '$data->name', '$data->email', $data->age
)";

if ($conn->query($sql)) {

    $status = 201;

    $message = 'Berhasil menambahkan pengguna.';
        
}
else {

    $status = 422;
    $message = 'Gagal menambahkan pengguna.';
    
}

http_response_code($status);

echo json_encode([
    'message' => $message,
    'status' => $status
]);

Perlu diketahui pada komentar penjelasan diatas skrip tersebut berfungsi untuk mengambil data yang di kirim dari klien yaitu berupa hasil request (file_get_contents()). Karena request tersebut berupada jSON maka harus dikembalikan dengan json_decode() yang bisa di panggil berupa data objek.

Jika proses penyimpan data berhasil maka akan memberikan notifikasi berhasil dan status kode 201 yang artinya menambahkan. Sedangkan jika gagal menyimpan maka akan memberikan status 422 yang mana masih ada data yang belum dikirim. Layanya seperti diatas yaitu kolom name, email, dan age yang harus terpenuhi, jika salah satu tidak terpenuhi maka akan memberikan notifikasi gagal.

Mengubah Data

Mengubah atau perbarui data harus menggunakan metode PUT, silakan salin dan tempelkan pada berkas user-update.php.

<?php

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: PUT");

if ($_SERVER['REQUEST_METHOD'] !== 'PUT') {

    http_response_code(405);

    echo json_encode([
        'message' => 'Method tidak ditemukan.'
    ]);

    return;
}

include 'config.php';

$data = json_decode(file_get_contents('php://input'));

$id = $data->id ?? $_GET['id'];

$sql = "UPDATE users SET name = '$data->name', email = '$data->email', age = $data->age WHERE id = $id";

if ($conn->query($sql)) {

    $status = 200;

    $message = 'Berhasil perbarui pengguna.';
} else {

    $status = 422;
    $message = 'Gagal perbarui pengguna.';
}

http_response_code($status);

echo json_encode([
    'message' => $message,
    'status' => $status
]);

Hanya sedikit saja perbedaan dari skrip diatas, tentu ada sedikit penjelasan yang mana untuk kunci id bisa didapat dari hasil request dan juga parameter (?id=1). Maka dari itu saya memberikan logika $data->id ?? $_GET['id'] yang mana jika $data->id tidak ada maka akan digantikan dengan nilai $_GET['id'].