Web service – SOAP – Cara Menampilkan Data Berdasarkan ID – Sebelumnya sistemphp.com sudah membahas tentang web service pada tutorial sebelumnya:
Untuk kondisi menampilkan data selain ID dapat juga kamu gunakan field lainya misalkan username, nama dan juga no telp. Untuk menampilkan data dengan kondisi seperti ini biasanya digunakan untuk memberikan informasi lebih lanjut mengenai data yang akan kamu tampilkan. Misalkan saja kamu ingin membuat detail dari data, atau kamu ingin membuat update data. Tentu sebelum data di update pada client web service, maka kamu harus baca terlebih dahulu data yang akan di update tersebut.
Saya asumsikan kamu sudah baca tutorial kedua di atas, jadi untuk mencoba tutorial kali ini tidaklah sulit, kamu tinggal tambahkan saja fungsi untuk menampilkan data pada web server, kemudian daftarkan fungsi tersebut dan buat tampilkan untuk menampilkan data yang kamu mau.
#Disarankan untuk membaca tutorial diatas dahulu
Cara Menampilkan Data Berdasarkan ID
#SERVER
Untuk script di server.php tambahkan fungsi script berikut ini:
$server->register('readbyid', array('input' => 'xsd:Array'), array('output' => 'xsd:Array'), $ns, "urn:".$ns."/readbyid", "rpc", "encoded", "Mengambil Data Barang by id" ); function readbyid($param) { $server = "localhost"; $username = "root" ; $password = "" ; $database = "ukm"; $con = new mysqli($server,$username,$password,$database); if($con->connect_error){ die("Koneksi gagal: ".$con->connect_error); } $r = $con->query("SELECT * FROM barang WHERE idBarang = '$param[id]'"); while($value= $r->fetch_assoc()){ $return_value[] = array( 'id'=> $value['idBarang'], 'kode'=> $value['kodeBarang'], 'nama'=> $value['namaBarang'], 'satuan'=> $value['satuanBarang'], 'harga'=> $value['hargaBarang'], 'stok'=> $value['stokBarang'] ); } return $return_value; }
#CLIENT
Untuk client kita buat file read.php (bisa bebas) silahkan tambahkan script berikut ini:
<?php require_once('lib/nusoap.php'); $client = new nusoap_client('http://127.0.0.1/ws/server/server.php?wsdl', true); $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; } $id = $_GET['id']; $param = array('id'=>$id); $result = $client->call('readbyid',array($param)); if (!empty($result)) { echo "<h1>Read</h1> <a href='create.php'>Create</a> <table border=1>"; echo "<tr bgcolor='#cccccc'>"; echo "<th>Id</th>"; echo "<th>Kode</th>"; echo "<th>Nama</th>"; echo "<th>Satuan</th>"; echo "<th>Harga</th>"; echo "<th>Stok</th>"; echo "<th colspan='3'>Action</th>"; echo "</tr>"; foreach ($result as $item) { echo "<tr>"; echo "<td>".$item['id']."</td>"; echo "<td>".$item['kode']."</td>"; echo "<td>".$item['nama']."</td>"; echo "<td>".$item['satuan']."</td>"; echo "<td>".$item['harga']."</td>"; echo "<td>".$item['stok']."</td>"; echo "<td><a href='read.php?id=".$item['id']."'>Read</a></td>"; echo "<td><a href='update.php?id=".$item['id']."'>Edit</a></td>"; echo "<td><a href='delete.php?id=".$item['id']."'>Delete</a></td>"; echo "</tr>"; } echo "</table>"; } ?>
Demikian tutorial untuk membuat detail data dengan web service. Untuk impelementasi lainya biasanya menampilkan data dengan kondisi seperti ini untuk memanggil data yang tabelnya saling berelasi pada suatu form inputan. Semoga bermanfaat.