Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi

Fitur search atau fitur pencarian ini sangat bermanfaat sekali untuk ketika kita mencari data didalam banyaknya data, misalnya kamu membuat data pagaw

 

Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi

Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi

Tutorial PHP Pemula Part 16 : : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi - Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan masih mempelajari PHP Dasar, Cara membuat fitur search dengan PHP dan MYSQLi.

Fitur search atau fitur pencarian ini sangat bermanfaat sekali untuk ketika kita mencari data didalam banyaknya data, misalnya kamu membuat data pagawai dan kebetulan kalian ini melihat data dari salah satu pegawainya jadi kita mencarinya dikolom pencarian dengan atas nama yang dituju.

Ini masih ada hubungannya dengan Cara Membuat CRUD DenganPHP Dan MYSQLi, jadi kalian baca dulu ya agar kamu mengerti ketika membaca ini.

Cara Membuat Fitur Seacrh Dengan PHP Dan MYSQLi

So pasti kita memerlukan sebuah  database untuk manampung atau menyimpan datanya jadi kamu tiru saja cara membuat database di Localhost dengan membaca artikel ini Cara Membuat CRUD Dengan PHP Dan MYSQLi.

1.Cara Menghubungkan PHP dengan Database

Sekarang buat lah file dengan nama koneksi.php lalu ketikan lah code dibawah ini :

Koneksi.php


    <?php

	$host = "localhost";
	$user = "root";
	$pass = "";
	$db   = "belajarwithib";

	$con = mysqli_connect($host,$user,$pass,$db);

		if (!$con) {
    		die("Koneksi gagal:".mysqli_connect_error());
		}

	?>
  

Penjelasan

  
$host = "localhost";
$user = "root";
$pass = "";
$db   = "belajarwithib";
  

Pada code diatas $host itu nama host/server yang kita pakai, $user itu nama user yang akan digunakan namun secara default itu root, $pass itu jika user nya menggunakan password untuk mengakses data didalamnya maka harap disini sesuai dengan passwordnya namun jika tidak menggunakan password maka kosongkan saja, $db itu adalah nama database yang ingin kita akses.

  
$con = mysqli_connect($host,$user,$pass,$db);
  

Untuk menghubungkan PHP dengan MySQLi , saya menggunakan fungsi mysqli_connect() dengan parameter alamat server, user, password, dan nama database.

2.Membuat Tampilan

Siapkan file index.php dan ketikan lah code dibawah ini :

Index.php

  
	<!DOCTYPE html>
<html>
<head>
	<title>Membuat Fitur Search Dengan PHP Dan MySQLi | www.belajarwithib.my.id</title>
	<style type="text/css">
		.table{
			border-collapse: collapse;
		}
		table.table th th , table.table tr td{
			padding: 10px 20px ;
		}
	</style>
</head>
<body>
	<header>
		<h2>www.belajarwithib.my.id</h2>
		<h1>Membuat Fitur Search Dengan PHP Dan MySQLi</h1>
	</header>
	<br/>
	<form action="index.php" method="get">
		<label>Cari :</label>
		<input type="text" name="cari" autocomplete="off">
		<small><p>Cari berdasarkan nama dan pekerjaan </p></small>
		<input type="submit" value="Cari">
	</form>
	<br>
	<?php
	if(isset($_GET['cari'])){
		$cari = $_GET['cari'];
		echo "<b>Hasil pencarian : ".$cari."</b>";
	}
	?>

	<br/>
	<br>
	<a href="tambah.php"> Tambah Data Baru</a>
	<h3>Data Pengguna</h3>
	<table border="1" class="table">
		<tr>
			<th>No</th>
			<th>Nama</th>
			<th>Alamat</th>
			<th>Email</th>
			<th>Agama</th>
			<th>Pekerjaan</th>
			<th>Opsi</th>
		</tr>
		<?php
		include "koneksi.php";
		if(isset($_GET['cari'])){
			$cari = $_GET['cari'];
			$query_mysql = mysqli_query($con,"SELECT * FROM pengguna WHERE nama like '%".$cari."%' or pekerjaan like '%".$cari."%'")or die(mysql_error());
		}else{
			$query_mysql = mysqli_query($con,"SELECT * FROM pengguna")or die(mysql_error());
		}
		$no = 1;
		while($data = mysqli_fetch_array($query_mysql)){
			?>
			<tr>
				<td><?php echo $no++; ?></td>
				<td><?php echo $data['nama']; ?></td>
				<td><?php echo $data['alamat']; ?></td>
				<td><?php echo $data['email']; ?></td>
				<td><?php echo $data['agama']; ?></td>
				<td><?php echo $data['pekerjaan']; ?></td>
				<td>
					<a class="edit" href="edit.php?id=<?php echo $data['id']; ?>">Edit</a> |
					<a class="hapus" href="hapus.php?id=<?php echo $data['id']; ?>">Hapus</a>
				</td>
			</tr>
		<?php } ?>
	</table>
</body>
</html>

  

Penjelasan

  
      <form action="index.php" method="get">
		<label>Cari :</label>
		<input type="text" name="cari" autocomplete="off">
		<small><p>Cari berdasarkan nama dan pekerjaan </p></small>
		<input type="submit" value="Cari">
	</form>
  

Pertama kita buat dulu form inputan untuk fitur search kita nanti lalu inputnya disini saya memberi nama dengan “cari”  perlu diingat karena itu sangat berpengaruh nantinya dan disitu saya memberikan method GET untuk mengetahui apa itu Method GET Atau Method POST baca artikel ini Cara Penggunaan Method GET & POST.

  
<?php
include "koneksi.php";
	if(isset($_GET['cari'])){
		$cari = $_GET['cari'];
			$query_mysql = mysqli_query($con,"SELECT * FROM pengguna WHERE nama like '%".$cari."%' or pekerjaan like '%".$cari."%'")or die(mysql_error());
		}else{
			$query_mysql = mysqli_query($con,"SELECT * FROM pengguna")or die(mysql_error());
		}
  

Lihat bagian code diatas, pada bagian code tersebut berfungsi untuk menangkap data yang berasal dari URL itulah mengapa kita menggunakan method GET lalu ketika data berhasil ditangkap maka akan dijalankan query nya seperti code dibawah ini :

  
$query_mysql = mysqli_query($con,"SELECT * FROM pengguna WHERE nama like '%".$cari."%' or pekerjaan like '%".$cari."%'")or die(mysql_error());
  

Disitu saya menggunakan Operator  “LIKE” yang fungsinya digunakan untuk menampilkan data berdasarkan sebuah pattern(Pola) yang sesuai dengan kebutuhan atau keinginan.

Ada 2 karakter khusus untuk operator LIKE ini yaitu karakter “ _” dan karakter “%” lalu apa fungsi nya? Simak penjelasan dibawah biar ga keliru

  • Simbol “ _ “ untuk mengantikan karakter yang cocok untuk satu karakter saja.
  • Simbol “ % “ untuk mengantikan karakter yang cocok untuk karakter apa saja dengan panjang karakter yang tidak terbatas,termasuk tidak ada karakter.

Didalam query diatas juga saya menambah OR agar fitur pencarian kita dapat mencari berdasakan nama dan pekerjaan dari data pengguna atau bisa lebih dari ini kok tinggal tambahi OR seperti itu juga.

Oke lanjut kepembahasan, nah pada code dibawah ini saya memberikan kondisi jika form pencarian belum diklik atau belum mengirim data maka tampilakan query yang untuk menampilkan data pengguna didatabase.

  
}else{
	$query_mysql = mysqli_query($con,"SELECT * FROM pengguna")or die(mysql_error());
     }
  

Sekarang mari kita coba apakah berhasil atau tidaknya, perhatikan screenshot dibawah :

Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi
Saya mencoba mencari data dengan nama "ilham"


Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi
Data dengan nama "ilham" berhasil ditampilkan


Tutorial PHP Pemula Part 16 : Cara Membuat Fitur Search Dengan PHP Dan MYSQLi
Kalau mencari berdasarkan pekerjaan juga berhasil ditampilkan


Penutupan

Seperti itulah cara membuat fitur search didalam PHP, mungkin next tutorial saya akan membuat cara membuat Pagination diPHP, sangat mudah sekali cara membuat fitur pencarian di dalam php.

Semoga Bermanfaat!