pertemuan kali ini saya akan membahas tentang tugas 5 ya itu web service yg menggunakan REST API , dengan untuk menambah dan menampilkan data mahasiswa.
langkah pertama
mernyerta kan coding di bawah ini dengan menyimpan dengan estensi restmhsw.php
<?php
// Check for the path elements
// Turn off error reporting
error_reporting(0);
// Report runtime errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Report all errors
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);
// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
$path = $_SERVER['PATH_INFO'];
if ($path != null) {
$path_params = spliti ("/", $path);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//
$con=mysqli_connect("localhost","root","","akademik");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//
$input = file_get_contents("php://input");
$xml = simplexml_load_string($input);
$querycek = "SELECT nim,nama,prodi FROM mahasiswa WHERE nim ='$xml->nim'";
echo "query select ".$querycek;
//if ($result=mysqli_query($con,querycek))
//{
$result=mysqli_query($con,$querycek);
// print_r($result);
while ($row=mysqli_fetch_row($result))
{
printf ("%s (%s)\n",$row[0],$row[1]);
}
$rowcount=mysqli_num_rows($result);
echo $rowcount . '<br />';
if ( $rowcount == 0)
{
$query = "INSERT INTO mahasiswa (
nim,
nama,
prodi)
VALUES (
'$xml->nim',
'$xml->nama',
'$xml->progdi')";
echo "query ".$query;
mysqli_query($con,$query);
}
else if ($rowcount > 0)
{
$query = "UPDATE mahasiswa SET
nama = '$xml->nama',
prodi = '$xml->progdi'
WHERE nim ='$xml->nim'";
echo "query ".$query;
mysqli_query($con,$query);
}
//}
mysqli_close($con);
}
?>
langkah ke dua anda harus menyedikan koneksi nya kemudian dengan coding di bawah ini dengan menyimpan nya dengan estensi restjson.php
<form method="POST" action="">
<table>
<tr>
<td>NIM</td>
<td><input type="text" name="nim" id="nim"></td>
</tr>
<tr>
<td><input type="submit" name="submit" id="submit" value="Cek"></td>
<td>
</td>
<?php
if(isset($_POST['submit'])){
$arr = Array();
$nim = $_POST['nim'];
$con=mysqli_connect("localhost","root","","akademik");
$result = mysqli_query($con,"SELECT * FROM mahasiswa WHERE nim='$nim'");
while ($row=mysqli_fetch_assoc($result)){
$arr[] = $row;
}
echo json_encode($arr);
}
?>
<?php
// Check for the path elements
// Turn off error reporting
error_reporting(0);
// Report runtime errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Report all errors
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);
// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
$path = $_SERVER['PATH_INFO'];
if ($path != null) {
$path_params = spliti ("/", $path);
}
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
if ($path_params[1] == null) {
$con=mysqli_connect("localhost","root","","akademik");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT nim,nama,prodi FROM mahasiswa";
if ($result=mysqli_query($con,$sql))
{
// Fetch one and one row
$arr = Array();
while ($row=mysqli_fetch_assoc($result))
{
$arr[] = $row;
}
echo json_encode($arr);
// Free result set
mysqli_free_result($result);
}
mysqli_close($con);
}
else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
if ($path_params[1] != null) {
$con=mysqli_connect("localhost","root","","akademik");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT nim,nama,prodi FROM mahasiswa where nim = '$path_params[1]'";
if ($result=mysqli_query($con,$sql))
{
// Fetch one and one row
$arr = Array();
while ($row=mysqli_fetch_assoc($result))
{
$arr[] = $row;
}
echo json_encode($arr);
mysqli_free_result($result);
}
mysqli_close($con);
}
}
}
?>
dan langkah terahir anda juga menambahkan untuk menambahkan imputan nya dengan coding di bahwah ini dan di simpan dengan estensi tambah.php
<html>
<head>
<title>Rest Web Services</title>
</head>
<body>
<?php
if (isset ($_POST['nim'])) {
$url = 'http://localhost/RestApi/restmhsw2.php';
$data = "<mahasiswa>
<nim>" . $_POST['nim'] . "</nim>
<nama>" . $_POST['nama'] ."</nama>
<progdi>" . $_POST['progdi'] . "</progdi>
</mahasiswa>";
//echo "datanya ".$data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
echo "response ".$response;
curl_close($ch);
}
?>
<form method="POST" action="tambah.php">
<table>
<tr>
<td>NIM</td>
<td><input type="text" name="nim" id="nim"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" id="nama"></td>
</tr>
<tr>
<td>Progdi</td>
<td><input type="text" name="progdi" id="progdi"></td>
</tr>
<tr>
<tr>
<td><input type="submit" name="submit" id="submit" value="Tambah"></td>
<td><a href="restjson.php">Lihat data json</a></td>
</tr>
</table>
</form>
</body>
</html>
sekian yang saya contoh kan tentang program php REST semoga bermanfaat untuk rekan rekan
Tidak ada komentar:
Posting Komentar