Cara menggunakan pencarian data dengan php

Cara menggunakan pencarian data dengan php

Haloooo sob! Seperti kata saya sebelumnya, saya akan bikinkan tutorial mencari atau pencarian data dengan PHP 7 terbaru dan mysqli yang datanya ada di tabel database kita

Pertama kalian harus sudah punya datanya di tabel dong, kalau belum ada yaa apa yang mau kita cari hehe jadi saya ga ajarin cara bikin tabel. Kalau belum bisa, silahkan lihat video tutorial sebelumnya yang CRUD PHP7

Jadi ini tabel produk saya :

 

Di data tersebut saya memiliki 2 data dengan nama_produk Whiskas Goreng dan Pisang Keju hehe

#Bikin File

Nah bikin koneksi.php dulu sob

<?php
	$host = "localhost";
	$user = "root";
	$pass = "";
	$db = "db_gc";
	$koneksi = mysqli_connect($host,$user,$pass,$db);

	if(!$koneksi) {
		die("Koneksi dengan database gagal: ".mysql_connect_error());
	}
?>

Setelah itu buat file index.php,

<!DOCTYPE html>
<html>
<head>
	<title>PENCARIAN GILACODING</title>
	<style type="text/css">
		* {
			font-family: "Trebuchet MS";
		}
		h2 {
			text-transform: uppercase;
			color: salmon;
		}
		table {
			border: 1px solid #ddeeee;
			border-collapse: collapse;
			border-spacing: 0;
			width: 70%;
			margin: 10px auto 10px auto;
		}
		th, td {
			border: 1px solid #ddeeee;
			padding: 20px;
			text-align: left;
		}
	</style>
</head>
<body>
	<center><h2>Pencarian Produk - Gilacoding</h2></center>
	<form method="GET" action="index.php" style="text-align: center;">
		<label>Kata Pencarian : </label>
		<input type="text" name="kata_cari" value="<?php if(isset($_GET['kata_cari'])) { echo $_GET['kata_cari']; } ?>"  />
		<button type="submit">Cari</button>
	</form>
	<table>
		<thead>
			<tr>
				<th>Kode Produk</th>
				<th>Nama Produk</th>
				<th>Keterangan</th>
			</tr>
		</thead>
		<tbody>
			<?php 
			//untuk meinclude kan koneksi
			include('koneksi.php');

				//jika kita klik cari, maka yang tampil query cari ini
				if(isset($_GET['kata_cari'])) {
					//menampung variabel kata_cari dari form pencarian
					$kata_cari = $_GET['kata_cari'];

					//jika hanya ingin mencari berdasarkan kode_produk, silahkan hapus dari awal OR
					//jika ingin mencari 1 ketentuan saja query nya ini : SELECT * FROM produk WHERE kode_produk like '%".$kata_cari."%' 
					$query = "SELECT * FROM produk WHERE kode_produk like '%".$kata_cari."%' OR nama_produk like '%".$kata_cari."%' OR keterangan like '%".$kata_cari."%' ORDER BY id ASC";
				} else {
					//jika tidak ada pencarian, default yang dijalankan query ini
					$query = "SELECT * FROM produk ORDER BY id ASC";
				}
				

				$result = mysqli_query($koneksi, $query);

				if(!$result) {
					die("Query Error : ".mysqli_errno($koneksi)." - ".mysqli_error($koneksi));
				}
				//kalau ini melakukan foreach atau perulangan
				while ($row = mysqli_fetch_assoc($result)) {
			?>
			<tr>
				<td><?php echo $row['kode_produk']; ?></td>
				<td><?php echo $row['nama_produk']; ?></td>
				<td><?php echo $row['keterangan']; ?></td>
			</tr>
			<?php
			}
			?>

		</tbody>
	</table>
</body>
</html>

Note : Fokus pada Script php nya saja ya

#Penjelasan dari coding diatas

<form method="GET" action="index.php" style="text-align: center;">
		<label>Kata Pencarian : </label>
		<input type="text" name="kata_cari" value="<?php if(isset($_GET['kata_cari'])) { echo $_GET['kata_cari']; } ?>"  />
		<button type="submit">Cari</button>
	</form>

Penjelasan :

  • Pada script form ini, terdapat method get maupun post jadi kalau GET data keyword yang kalian cari akan tampil di URL tapi jika POST maka data yang dicari akan disembunyikan url.
  • Nah kalau kalian pakai GET , maka untuk mengambil data inputan form nya memerlukan $_GET['name'] tapi kalau POST maka $_POST['name'];
  • Disitu terdapat action=index.php, tergantung sih kalian maunya ketika dicari tetap berada di halaman index atau pindah ke halaman lain.
  • Terus ituu, ada textbox dong buat masukin kata kunci atau keyword yang akan kita cari nya
  • Dan ada button biasa ya untuk submit nya

Query Pencarian

//jika kita klik cari, maka yang tampil query cari ini
    if(isset($_GET['kata_cari'])) {
    //menampung variabel kata_cari dari form pencarian
	$kata_cari = $_GET['kata_cari'];

	//jika hanya ingin mencari berdasarkan kode_produk, silahkan hapus dari awal OR
	//jika ingin mencari 1 ketentuan saja query nya ini : SELECT * FROM produk WHERE kode_produk like '%".$kata_cari."%' 
	$query = "SELECT * FROM produk WHERE kode_produk like '%".$kata_cari."%' OR nama_produk like '%".$kata_cari."%' OR keterangan like '%".$kata_cari."%' ORDER BY id ASC";
    } else {
	//jika tidak ada pencarian, default yang dijalankan query ini
	$query = "SELECT * FROM produk ORDER BY id ASC";
   }

Penjelasan :

  • Nah disini, saya mencari ke 3 kolom di tabel produk, tapi jika kalian cuman mau 1 kolom saja yang dicari misalnya mau cari di kode_produk saja maka querynya seperti ini :
$query = "SELECT * FROM produk WHERE kode_produk like '%".$kata_cari."%'";
  • Selanjutnya jika tidak ada yang dicari, maka akan menjalankan query didalam ELSE

Udah deh, gitu doang sob yang pentingnya, sisanya itu kalian pasti udah bisa lakukan. Diantaranya membuat query tabel, menampilkan tabel, bikin tabel diphpmyadmin, dan lainnya...

Download Projectnya disini : https://github.com/herziwp/pencarian-php7

Oooiyaa, tentunya tutorial kali ini hadir dengan video juga sob. Silahkan disimak video berikut kalau kalian belum paham