<?PHP
$host = "localhost";
/*
$user="";
$psw="";
$db = "";
*/
if (ISSET($_POST['us'])){$user = $_POST['us'];}
if (ISSET($_POST['pw'])){$psw = $_POST['pw'];}
if (ISSET($_POST['db'])){$db = $_POST['db'];}
if (ISSET($_POST['test'])){$test = $_POST['test'];} ELSE {$test = 0;}
//conection to database
$conection=@mysql_connect($host,$user,$psw);
if (!$conection){
die("Could not connect to server. " . mysql_error());
echo "Could not connect to server. ";
exit;
}
$select=@mysql_select_db($db);
if (!$select){
die("Could not connect to database. " . mysql_error());
echo "Could not connect to database. ";
include ("clearconn.php");
exit;
}
if ($test == 1) {echo "sukses";mysql_close();}
//end of this file
?>
File conn.php akan dipanggil di hampir semua file php yang ada di folder web api untuk membuka koneksi dan dapat juga digunakan untuk memeriksa apakah koneksi bisa terhubung atau tidak. Dalam file ini juga memanggil clearconn.php untuk menutup dan menghapus deklarasi variable-variable koneksi.
Nah klo Rani lagi ngerjain back end development biasanya pakai postman untuk memeriksa apakah API kita jalan dengan menggunakan postman. Kita akan cek dan melihat bagaimana cara kerja API ini temen-temen bisa download Postman nya di link berikut:
Pertama kita akan coba mengecek settingan koneksi kita apakah dapat terhubung atau tidak.
1. Klik + New untuk menambah tab baru.
2. Pilih tipe request POST.
3. Ketikan alamat URL tempat webapi diupload, tambahkan nama file conn.php.
4. Karena tipe request post, kita pilih opsi Body dan form-data untuk memasukan parameter.
5. Kemudian masukan key dan value, dan jangan lupa untuk mencentang checkbox jika parameter tersebut ingin ikut di post.
Parameter di API ini adalah variable-variable koneksi:
- us --> username untuk login ke database
- pw --> password untuk login ke database
- db --> nama database yang akan digunakan
- test --> beri nilai 1 untuk melakukan test dengan API ini agar mendapatkan nilai sukses/gagal.
6. Klik tombol Send.
7. Hasil akan ditampilkan di bagian respon di bawah.
Selanjutnnya getdata.php adalah untuk mendapatkan dataset dalam bentuk JSON. Disini kita tetap mengirimkan 4 parameter koneksi dan parameter sql yang merupakan query SELECT.
getdata.php
<?php
include "conn.php";
if (ISSET($_POST['sql'])){$sql = $_POST['sql'];} else {$sql = "";}
$sql = str_replace("\'","'",$sql);
$keys = array();
$query = mysql_query($sql);
$imax = mysql_num_fields($query); //row count
$i = 0;
while ($i < $imax) {
array_push($keys, mysql_field_name($query, $i));
$i = $i + 1;
}
while($dt=mysql_fetch_array($query)){
$i = 0; $values = array();
while ($i < $imax) {
array_push($values, $dt[$i]);
$i = $i + 1;
}
$data[] = array_combine($keys, $values);
}
if (!isset($data)) {$data[] = array("data" => "0");}
//collect data result in array
$json = array(
'data' => $data
);
mysql_close();
//convert data to JSON
echo json_encode($json);
?>
Sebagai contoh Rani akan menggunakan tabel category yang ada di database latihan, yang penampakannya kira-kira seperti berikut ini:
Kemudian kita langsung saja coba di postman.
1. Klik + New untuk menambah tab baru.
2. Pilih tipe request POST.
3. Ketikan alamat URL tempat webapi diupload, tambahkan nama file getdata.php.
4. Karena tipe request post, kita pilih opsi Body dan form-data untuk memasukan parameter.
5. Kemudian masukan key dan value, dan jangan lupa untuk mencentang checkbox jika parameter tersebut ingin ikut di post.
Parameter di API ini adalah variable-variable koneksi:
- us --> username untuk login ke database
- pw --> password untuk login ke database
- db --> nama database yang akan digunakan
- query--> masukan nilai string berisi query SELECT * FROM Category
6. Klik tombol Send.
7. Hasil akan ditampilkan di bagian respon di bawah.
Lalu ada API getfieldvalue.php yang digunakan untuk mengambil 1 nilai saja dari database dengan mengirimkan parameter SQL Query yang menghasilkan 1 nilai saja (1 baris dan 1 kolom data). Parameter-parameter untuk koneksi tetap digunakan.
getfieldvalue.php
<?php
if (ISSET($_POST['sql'])){$sql = $_POST['sql'];} else {$sql = "";}
$sql = str_replace("\'","'",$sql);
include "conn.php";
if (trim($sql)!= "")
{
$qry = mysql_query($sql, $conection) or die ("gagal query".mysql_error()."<br>".mysql_errno());
$data = mysql_fetch_array($qry);
$fieldvalue = $data[0];
echo $fieldvalue;
mysql_close();
} else
{
//mysql_close();
echo "no data.".$db;
}
?>
Sebagai contoh, dengan menggunakan postman untuk mencari nilai nama kategori berdasarkan kodenya.
1. Klik + New untuk menambah tab baru.
2. Pilih tipe request POST.
3. Ketikan alamat URL tempat webapi diupload, tambahkan nama file getfieldvalue.php.
4. Karena tipe request post, kita pilih opsi Body dan form-data untuk memasukan parameter.
5. Kemudian masukan key dan value, dan jangan lupa untuk mencentang checkbox jika parameter tersebut ingin ikut di post.
Parameter di API ini adalah variable-variable koneksi:
- us --> username untuk login ke database
- pw --> password untuk login ke database
- db --> nama database yang akan digunakan
- sql--> masukan nilai string berisi query SELECT categoryname FROM category WHERE categorycode = 'C002'.
6. Klik tombol Send.
7. Hasil akan ditampilkan di bagian respon di bawah.
Terakhir adalah runquery.php untuk menjalankan query INSERT, UPDATE, dan DELETE.
runquery.php
<?php
$sqlstr = str_replace("\'","'",$_POST['qry']);
//call conn.php
include "conn.php";
if ($sqlqry = mysql_query($sqlstr,$conection)) {
echo "1";
} else {
echo "gagal query: ".mysql_error()."<br>".mysql_errno().".";
}
mysql_close();
?>
Kita akan mencoba INSERT 1 kategori baru. Untuk perbandingan, ini adalah kondisi awal tabel category:
Kita akan menambahkan C003 Peralatan | Tools.
1. Klik + New untuk menambah tab baru.
2. Pilih tipe request POST.
3. Ketikan alamat URL tempat webapi diupload, tambahkan nama file runquery.php.
4. Karena tipe request post, kita pilih opsi Body dan form-data untuk memasukan parameter.
5. Kemudian masukan key dan value, dan jangan lupa untuk mencentang checkbox jika parameter tersebut ingin ikut di post.
Parameter di API ini adalah variable-variable koneksi:
- us --> username untuk login ke database
- pw --> password untuk login ke database
- db --> nama database yang akan digunakan
- qry--> masukan nilai string berisi query INSERT INTO category (categorycode, categoryname) VALUES ('C003', 'Peralatan | Tools').
6. Klik tombol Send.
7. Hasil akan ditampilkan di bagian respon di bawah, jika muncul angka 1 maka berhasil. Jika error akan muncul pesan error.
Kita lihat di database sudah ditambahkan data kategori yang baru.
0 Comments