Cara Membuat Pencarian Data dan Menampilkannya ke Textbox dengan PHP AJAX dan MySQL

img-responsive
Catatan kali ini yaitu mengenai bagaimana cara membuat pencarian data dari database kemudian menampilkan data tersebut ke dalam sebuah textbox. Pada catatan ini, kita akan menggunakan plugin JQUERY dan memanfaat bahasa pemograman AJAX. Dengan AJAX, kita bisa melakukan sebuah proses tanpa harus me-refresh / me-reload halaman web kita. Berikut ini langkah-langkah membuatnya :
STEP 1 – PERSIAPAN
Kita akan mempersiapkan terlebih dahulu hal-hal yang diperlukan.
  1. Download Plugin JQUERYnya, Klik link berikut ini : Download.
    Bingung cara downloadnya? klik disini untuk melihat caranya.
  2. Buat sebuah folder baru dengan nama latihan_ajax, lalu simpan di xampp/htdocs/
  3. Copy plugin JQUERY yang sudah didownload ke dalam folder xampp/htdocs/latihan_ajax/

STEP 2 – DATABASE
Buat sebuah database dengan nama mynotescode, lalu buat tabel siswa dengan struktur tabel seperti gambar berikut ini :
Struktur Tabel - Cara Membuat Pencarian Data dan Menampilkannya ke Textbox dengan PHP AJAX dan MySQL
  1. CREATE TABLE IF NOT EXISTS `siswa` (
  2. `nis` varchar(11) NOT NULL,
  3. `nama` varchar(50) NOT NULL,
  4. `jenis_kelamin` varchar(10) NOT NULL,
  5. `telp` varchar(15) NOT NULL,
  6. `alamat` text NOT NULL,
  7. PRIMARY KEY (`nis`)
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

STEP 3 – KONEKSI DATABASEPada tahap ini, kita akan membuat sebuah file php yang berfungsi untuk koneksi ke database MySQL. Buat sebuah file dengan nama koneksi.php lalu simpan di folder xampp/htdocs/latihan_ajax/. Berikut ini isi dari file tersebut :
  1. <?php
  2. $host = "localhost"; // Nama hostnya
  3. $user = "root"; // Username
  4. $pass = ""; // Password (Isi jika menggunakan password)
  5. $database = "mynotescode"; // Nama databasenya
  6. $connect = mysqli_connect($host, $user, $pass, $database); // Koneksi ke MySQL
  7. ?>

STEP 4 – FORM
Pada tahap ini kita akan membuat formnya. Buat sebuah file dengan nama index.php dan simpan di folder xampp/htdocs/latihan_ajax/. Berikut ini isinya :
  1. <html>
  2. <head>
  3. <title>GET DATA with AJAX</title>
  4. <script src="jquery-2.2.4.min.js"></script> <!-- Load library jquery -->
  5. <script src="process.js"></script> <!-- Load file process.js -->
  6. </head>
  7. <body>
  8. <h1>FORM SISWA</h1><hr>
  9. <form>
  10. <table>
  11. <tr>
  12. <td>NIS</td>
  13. <td>:</td>
  14. <td><input type="text" name="nis" id="nis"> <button type="button" id="btn-search">Cari</button> <span id="loading">LOADING...</span></td>
  15. </tr>
  16. <tr>
  17. <td>Nama</td>
  18. <td>:</td>
  19. <td><input type="text" name="nama" id="nama"></td>
  20. </tr>
  21. <tr>
  22. <td>Jenis Kelamin</td>
  23. <td>:</td>
  24. <td><input type="text" name="jenis_kelamin" id="jenis_kelamin"></td>
  25. </tr>
  26. <tr>
  27. <td>Telepon</td>
  28. <td>:</td>
  29. <td><input type="text" name="telepon" id="telepon"></td>
  30. </tr>
  31. <tr>
  32. <td>Alamat</td>
  33. <td>:</td>
  34. <td><input type="text" name="alamat" id="alamat"></td>
  35. </tr>
  36. </table>
  37. </form>
  38. </body>
  39. </html>

STEP 5 – AJAX
Pada tahap ini, kita akan membuat skrip ajaxnya. Buat sebuah file dengan nama process.js dan simpan di folder xampp/htdocs/latihan_ajax/. Berikut ini isi file tersebut :
  1. function search(){
  2. $("#loading").show(); // Tampilkan loadingnya
  3. $.ajax({
  4. type: "POST", // Method pengiriman data bisa dengan GET atau POST
  5. url: "search.php", // Isi dengan url/path file php yang dituju
  6. data: {nis : $("#nis").val()}, // data yang akan dikirim ke file proses
  7. dataType: "json",
  8. beforeSend: function(e) {
  9. if(e && e.overrideMimeType) {
  10. e.overrideMimeType("application/json;charset=UTF-8");
  11. }
  12. },
  13. success: function(response){ // Ketika proses pengiriman berhasil
  14. $("#loading").hide(); // Sembunyikan loadingnya
  15. if(response.status == "success"){ // Jika isi dari array status adalah success
  16. $("#nama").val(response.nama); // set textbox dengan id nama
  17. $("#jenis_kelamin").val(response.jenis_kelamin); // set textbox dengan id jenis kelamin
  18. $("#telepon").val(response.telepon); // set textbox dengan id telepon
  19. $("#alamat").val(response.alamat); // set textbox dengan id alamat
  20. }else{ // Jika isi dari array status adalah failed
  21. alert("Data Tidak Ditemukan");
  22. }
  23. },
  24. error: function (xhr, ajaxOptions, thrownError) { // Ketika ada error
  25. alert(xhr.responseText);
  26. }
  27. });
  28. }
  29. $(document).ready(function(){
  30. $("#loading").hide(); // Sembunyikan loadingnya
  31. $("#btn-search").click(function(){ // Ketika user mengklik tombol Cari
  32. search(); // Panggil function search
  33. });
  34. $("#nis").keyup(function(event){ // Ketika user menekan tombol di keyboard
  35. if(event.keyCode == 13){ // Jika user menekan tombol ENTER
  36. search(); // Panggil function search
  37. }
  38. });
  39. });

STEP 6 – PROSES PENCARIAN
Di tahap yang terakhir ini, kita akan membuat file php yang berfungsi untuk memproses pencarian ke tabel siswa yang ada di database. Buat sebuah file dengan nama search.php dan simpan di folder xampp/htdocs/latihan_ajax/. Berikut ini isi file tersebut :
  1. <?php
  2. include "koneksi.php"; // Load file koneksi.php
  3. $nis = $_POST['nis']; // Ambil data NIS yang dikirim lewat AJAX
  4. $query = mysqli_query($connect, "SELECT * FROM siswa WHERE nis='".$nis."'"); // Tampilkan data siswa dengan NIS tersebut
  5. $row = mysqli_num_rows($query); // Hitung ada berapa data dari hasil eksekusi $query
  6. if($row > 0){ // Jika data lebih dari 0
  7. $data = mysqli_fetch_array($query); // ambil data siswa tersebut
  8. // BUat sebuah array
  9. $callback = array(
  10. 'status' => 'success', // Set array status dengan success
  11. 'nama' => $data['nama'], // Set array nama dengan isi kolom nama pada tabel siswa
  12. 'jenis_kelamin' => $data['jenis_kelamin'], // Set array jenis_kelamin dengan isi kolom jenis_kelamin pada tabel siswa
  13. 'telepon' => $data['telp'], // Set array jenis_kelamin dengan isi kolom telp pada tabel siswa
  14. 'alamat' => $data['alamat'], // Set array jenis_kelamin dengan isi kolom alamat pada tabel siswa
  15. );
  16. }else{
  17. $callback = array('status' => 'failed'); // set array status dengan failed
  18. }
  19. echo json_encode($callback); // konversi varibael $callback menjadi JSON
  20. ?>

HASIL
Form - Cara Membuat Pencarian Data dan Menampilkannya ke Textbox dengan PHP AJAX dan MySQL
PENJELASAN CARA KERJA
Saya akan coba jelaskan cara kerja / alur proses pencarian.
Pertama, User akan menginput NIS pada textbox dengan id=”nis”.
  1. <input type="text" name="nis" id="nis">
Kemudian ketika user menekan tombol ENTER atau mengklik tombol Cari,
  1. <button type="button" id="btn-search">Cari</button>
function search() akan mengeksekusi perintah AJAX (yang ada di file process.js) untuk mengirimkan NIS yang telah diinput tadi ke file search.php. Lalu di file search.php, dilakukan pencarian data ke tabel siswa di database berdasarkan NIS yang dikirim tadi oleh AJAX. Kemudian, file search.php akan memberikan hasil pencarian dalam bentuk array $callback yang telah di konversi menjadi JSON. Array tersebut akan diambil kembali oleh AJAX dan memasukkannya ke dalam variabel response. Lalu langkah terakhir adalah men-set textbox dengan hasil pencarian tadi.
Source CodeUntuk mengunduh source code nya, klik link berikut ini : Download.
Bingung cara downloadnya? klik disini untuk melihat caranya.
Sekian untuk catatan kali ini, semoga catatan ini bisa bermanfaat. Jika ada hal yang kurang dimengerti, jangan sungkan untuk bertanya pada kolom komentar di bawah ini.
Terimakasih.
Load data dari database ke dalam textbox, Cara membuat pencarian tanpa refresh halaman dan menampilkannya ke textbox, Cara mudah dan cepat membuat pencarian tanpa refresh halaman dan menampilkannya ke textbox, Load data dari database tanpa refresh halaman ke dalam textbox, cara menampilkan data otomatis dari database ke textbox

Pencarian Data

Komentar

Postingan populer dari blog ini

Login, Session, dan Logout

Cara Membuat File Setup / Installer Aplikasi Sendiri dengan Inno Setup Compiler