CRUD Rest API Webservice Menggunakan PHP dan MySQL - Part 1

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

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,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Tambahkan beberapa data tabel tersebut :
INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Super 25',30000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Jeas Ver',40000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Uyta',50000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Vander',60000,'Baju',10);

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

    <?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 :
    <?php
    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:
    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_GET['id'])) {
        $id = $_GET['id'];
        $SQL = $conn->prepare("SELECT * FROM produk WHERE id=? ORDER BY id ASC");
        $SQL->bind_param("i", $id);
        $SQL->execute();
        $hasil = $SQL->get_result();
        $myArray = array();
        while ($users = $hasil->fetch_array(MYSQLI_ASSOC)) {
            $myArray = $users;
        }
        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:
    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_POST['id'])) {
        $id                 = $_POST['id'];
        $nama_produk        = $_POST['nama_produk'];
        $tipe_produk        = $_POST['tipe_produk'];
        $harga              = $_POST['harga'];
        $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");
        } else {
            echo json_encode(array('RESPONSE' => 'FAILED'));
        }
    } else {
        echo "GAGAL";
    }
    
    

    api_hapus.php

    api_hapus.php digunakan untuk menghapus data, berikut adalah coding dari file tersebut:
    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_GET['id'])) {
        $id  = $_GET['id'];
        $sql = $conn->prepare("DELETE FROM produk WHERE id=?");
        $sql->bind_param('i', $id);
        $sql->execute();
        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:
    
    <?php
    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'];
    	$harga 			= $_POST['harga'];
    	$stok 			= $_POST['stok'];
    	$sql = $conn->prepare("INSERT INTO produk (nama_produk, tipe_produk, harga, stok) VALUES (?, ?, ?, ?)");
    	$sql->bind_param('ssdd', $nama_produk, $tipe_produk, $harga, $stok);
    	$sql->execute();
    	if ($sql) {
    		//echo json_encode(array('RESPONSE' => 'SUCCESS'));
    		header("location:../readapi/tampil.php");
    	} else {
    		echo json_encode(array('RESPONSE' => 'FAILED'));
    	}
    } else {
    	echo "GAGAL";
    }
    
    
    Pembuatan API CRUD telah selesai berikut nya akan dilanjutkan pada artikel berikutnya yaitu pada link berikut :

    Selain itu anda juga dapat membaca :

    تعليق واحد for "CRUD Rest API Webservice Menggunakan PHP dan MySQL - Part 1"