Sunday, March 25, 2018

Membuat Form Pencarian Sederhana Dengan PHP + MySQL


Assalamualaikum.... Kali ini saya mau membagikan cara Membuat Form Pencarian Sederhana Dengan PHP + MySQL, Pencarian memang hal yang sangat penting pada sebuah Website karena dapat memudahkan pengunjung dalam mencari sesuatu yang dibutuhkan meskipun bisa menggunakan Hotkey F3, namun rasanya agak aneh gitu bila mencari dengan menekan F3 untuk mencari apa yang diinginkan pada suatu data, sebab itulah diperlukan sebuah pencarian yang Kompleks dengan PHP dan MySQL.
  • Pertama tama buat dulu Database nya.... Atau bisa download SQL nya Disini
  • Lalu Buatlah Satu File Koneksi PHP MySQL save dengan nama config.php....
<?php
mysql_connect("localhost","root","");
mysql_select_db("agenda_rivai");
?>
  • Lalu Buatlah Index.php untuk membuat Form Pencariannya...
<?php
include "config.php"; //koneksi PHP dan MySQL
if($_GET['module'] == 'petugas'){ //Mengambil nilai dari url parameter module=petugas
?>
<?php
$no = 1; //no untuk increment
if($_POST['cari']){ //mengambil nilai dari form search dengan nama cari
echo '<script>window.location.replace("index.php?module=petugas&q='.$_POST['cari'].'");</script>'; //saat ada nilai inputan tersedia maka nilai POST tadi akan dimasukkan di paramater q
}
?>
<h3><center>Data Petugas</center></h3>
<form method="post">
Cari : <input type="text" name="cari"> <input type="submit">
</form>
<table border="1" align="center">
<tr>
<td>NO</td>
<td>Username</td>
<td>Nama Depan</td>
<td>Nama Belakang</td>
<td>Password</td>
<td>Hak</td>
</tr>
<?php
if($_GET['q'] != ''){ //disini untuk mengecek apakah nilai q yang dideklarasikan diatas apabila tidak kosong maka...
$q = $_GET['q'];
$tampil = mysql_query("SELECT * FROM petugas WHERE nama_depan LIKE '$q%' OR username LIKE '$q%' ORDER BY username"); //tampilkan semua dari petugas berdasarkan nama depan atau username
}else{ // jika nilai parameter q kosong
$tampil = mysql_query("SELECT * FROM petugas"); //maka tampilkan semua yang ada pada table petugas
}
if(mysql_num_rows($tampil)){ //mengecek record pada table apabila ada
while($row = mysql_fetch_array($tampil)){ //maka looping ?>
<tr>
<td><?=$no++?></td>
<td><?=$row['username']?></td>
<td><?=$row['nama_depan']?></td>
<td><?=$row['nama_belakang']?></td>
<td><?=$row['password']?></td>
<td><?=$row['hak']?></td>
</tr>
<?php
}
}else{ //jika tidak ada
echo '<td colspan="7" align="center">Data Tidak Ditemukan</td>'; //data tidak ada
}
?>

Sedikit saya jelaskan lagi fungsi dari code diatas...

Fungsi dari code
if($_GET['module'] == 'petugas')
Adalah untuk membentuk membuat url parameter dari index.php menjadi index.php?module=petugas

Fungsi dari code
if($_POST['cari']){
echo '<script>window.location.replace("index.php?module=petugas&q='.$_POST['cari'].'");</script>';
}
Untuk mengambil nilai dari form pencarian yang diberi nama cari lalu fungsi window.location.replace() hampir sama seperti tag href pada HTML namun fungsi window.location.replace() langsung mereplace ke url yang akan dituju berbeda dengan href yang harus diklik dulu.sedangkan di parameter q berisikan nilai dari inputan cari dengan method POST

Fungsi dari code
if($_GET['q'] != ''){ 
$q = $_GET['q'];
$tampil = mysql_query("SELECT * FROM petugas WHERE nama_depan LIKE '$q%' OR username LIKE '$q%' ORDER BY username"); //tampilkan semua dari petugas berdasarkan nama depan atau username
}else{
$tampil = mysql_query("SELECT * FROM petugas");
}
Sedangkan disini adalah untuk mengecek apakah nilai dari parameter q dari window.location.replace diatas, apabila nilai q tidak kosong maka otomatis akan mencari seluruh data yang ada pada table petugas berdasarkan nama_depan atau username dengan fungsi LIKE. Fungsi LIKE berguna untuk pencarian data dan tanda '%' untuk mengecek string dengan pola yang sesuai, misal saya mencari akmal maka otomatis akan menampilkan juga yang ada akmal nya, misal maulana, akmal fajar, dsb...

 Berikut adalah Contoh SS pencarian
  • Jika kondisi nilai parameter q kosong maka akan menampilkan seluruh data yang ada pada table petugas
  •  Jika saya mencari dengan kata kunci misal 'a' maka otomatis akan muncul semua jenis data yang ada 'a'
  • Dan otomatis Url akan menjadi seperti ini,dikarenakan parameter q tidaklah kosong

Mengapa saya membuat dengan konsep url parameter, karena saat berurusan dengan website yang besar yang memainkan beberapa bagian parameter akan terasa mudah tanpa perlu membuat file baru, dsb. Baiklah sekian tutorial untuk kali ini, saya harap dapat memberi manfaat, jika ada yang perlu ditanyakan silahkan langsung ke kolom komentar...

Artikel Terkait

Im noob!

This Is The Newest Post


EmoticonEmoticon