Skip to main content

CRUD Rest API Webservice Menggunakan PHP dan MySQL - Part 1


Langkah pertama dalam pembuatan CRUD Rest API Webservice adalah membuat database, saya asumsikan anda sudah mengetahui dalam pembuatan database berikut adalah script untuk pembuatan database.


nama database : dbrest
nama tabel : produk

DROP TABLE IF EXISTS `produk`;
CREATE TABLE `produk` (
`id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`nama_produk` varchar(30) DEFAULT NULL,
`harga` int(50) DEFAULT NULL,
`tipe_produk` varchar(30) DEFAULT NULL,
`stok` int(50) DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;
PRIMARY KEY (`id`)

Tambahkan beberapa data tabel tersebut :
INSERT INTO `produk` VALUES ('1', 'Ardiles', 'Sandal', '500000', '13');
INSERT INTO `produk` VALUES ('3', 'Super 25', 'Baju', '35000', '16');
INSERT INTO `produk` VALUES ('6', 'Jeas Ver', 'Celana', '235000', '13');
INSERT INTO `produk` VALUES ('5', 'Uyta', 'Celana', '117000', '34');
INSERT INTO `produk` VALUES ('8', 'Super 25', 'Baju', '35000', '16');
INSERT INTO `produk` VALUES ('7', 'Vander', 'Celana', '125000', '42');
INSERT INTO `produk` VALUES ('10', 'Uyta', 'Celana', '117000', '34');

Setelah menyelesaikan pembuatan database dan tabel selanjutnya kita akan membuat API untuk proses simpan data,ubah data dan hapus data, berikut adalah struktur folder dan file yang akan kita buat :



langkah awal kita akan membuat project dengan nama dbrest didalam project tersebut terdiri dari beberapa folder yang dibutuhkan yaitu :
  1. api digunakan untuk menyimpan file api, 
  2. config digunakan untuk menyimpan file koneksi, 
  3. readapi, digunakan untuk membaca api pada web browser didalam folder ini ada folder layout yang digunakan untuk menyimpan file css.


    Membuat Koneksi Database

    Sebelum membuat api kita terlebih akan membuat file koneksi.php yang tersimpan dalam folder config file ini sangat penting karena akan digunakan untuk melakukan koneksi database, berikut adalah coding dari file koneksi.php

    define('HOST','localhost');
    define('USER','root');
    define('DB','dbrest');
    define('PASS','');
    $conn = new mysqli(HOST,USER,PASS,DB) or die('Connetion error to the database');


    Membuat API CRUD 

    seperti kita lihat pada gambar diatas didalam folder api terdiri dari beberapa file yang akan dibuat yaitu :
    1. api_tampil.php
    2. api_tambah.php
    3. api_edit.php
    4. api_ubah.php
    5. api_hapus.php

     

    api_tampil.php

    api_tampil.php digunakan untuk menampilkan data dalam bentuk json, berikut adalah coding dari file tersebut :
    require_once('../config/koneksi.php');
    $myArray = array();
    if ($result = mysqli_query($conn, "SELECT * FROM produk ORDER BY id ASC")) {
    while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
    $myArray[] = $row;
    }
    mysqli_close($conn);
    echo json_encode($myArray);
    }


    api_edit.php

    api_edit.php digunakan untuk memilih data yang akan kita ubah, berikut adalah coding dari file tersebut:
    require_once('../config/koneksi.php');
    if (isset($_GET['id'])) {
    $SQL = $conn->prepare("SELECT * FROM produk WHERE id=? ORDER BY id ASC");
    $id = $_GET['id'];
    $SQL->execute();
    $SQL->bind_param("i", $id);
    $myArray = array();
    $hasil = $SQL->get_result();
    $myArray = $users;
    while ($users = $hasil->fetch_array(MYSQLI_ASSOC)) {
    }
    }
    echo json_encode($myArray);
    } else {
    echo "data tidak ditemukan";

    api_ubah.php

    api_ubah.php digunakan untuk mengubah data, berikut adalah coding dari file tersebut:
    require_once('../config/koneksi.php');
    if (isset($_POST['id'])) {
    $id = $_POST['id'];
    $nama_produk = $_POST['nama_produk'];
    $harga = $_POST['harga'];
    $tipe_produk = $_POST['tipe_produk'];
    $stok = $_POST['stok'];
    $sql = $conn->prepare("UPDATE produk SET nama_produk=?, tipe_produk=?, harga=?, stok=? WHERE id=?");
    $sql->bind_param('ssddd', $nama_produk, $tipe_produk, $harga, $stok, $id);
    $sql->execute();
    if ($sql) {
    }
    //echo json_encode(array('RESPONSE' => 'SUCCESS'));
    header("location:../readapi/tampil.php");
    echo json_encode(array('RESPONSE' => 'FAILED'));
    } else {
    }
    echo "GAGAL";
    } else {

    api_hapus.php

    api_hapus.php digunakan untuk menghapus data, berikut adalah coding dari file tersebut:
    require_once('../config/koneksi.php');
    if (isset($_GET['id'])) {
    $sql = $conn->prepare("DELETE FROM produk WHERE id=?");
    $id = $_GET['id'];
    $sql->execute();
    $sql->bind_param('i', $id);
    if ($sql) {
    echo json_encode(array('RESPONSE' => 'SUCCESS'));
    header("location:../readapi/tampil.php");
    } else {
    }
    echo json_encode(array('RESPONSE' => 'FAILED'));
    }
    } else {
    echo "GAGAL";

    api_tambah.php

    api_tambah.php digunakan untuk menambah data, berikut adalah coding dari file tersebut:
    require_once('../config/koneksi.php');
    if (isset($_POST['nama_produk']) && isset($_POST['tipe_produk']) && isset($_POST['harga']) && isset($_POST['stok'])) {
    $nama_produk = $_POST['nama_produk'];
    $tipe_produk = $_POST['tipe_produk'];
    $sql = $conn->prepare("INSERT INTO produk (nama_produk, tipe_produk, harga, stok) VALUES (?, ?, ?, ?)");
    $harga = $_POST['harga'];
    $stok = $_POST['stok'];
    $sql->bind_param('ssdd', $nama_produk, $tipe_produk, $harga, $stok);
    $sql->execute();
    if ($sql) {
    echo json_encode(array('RESPONSE' => 'FAILED'));
    //echo json_encode(array('RESPONSE' => 'SUCCESS'));
    header("location:../readapi/tampil.php");
    } else {
    }
    }
    } else {
    echo "GAGAL";

    Pembuatan API CRUD telah selesai berukut nya akan dilanjutkan pada artikel berikutnya yaitu pada link berikut :
    CRUD Rest API Webservice Menggunakan PHP dan MySQL - Part 2
    Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
    Buka Komentar
    Tutup Komentar
    -->