Belajar PHP : Pencarian Dengan PHP dan MySQL

Latihan belajar PHP mysql untuk form & hasil pencarian dengan metode query like, localhost xampp.

Sistem pencarian PHP & SQL yang sederhana, langkah pertama harus memiliki data atau menampilkan data baru tambahakan form pencarian berdasarka keyword “nama”.

Latihan belajar php ini merupakan lanjutan dari CRUD php mysql sebelumnya, baca disni.

Buta database baru: belalar-php.sql

CREATE TABLE `data_siswa` (
`id` int(12) NOT NULL,
`nama` varchar(25) NOT NULL,
`alamat` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


INSERT INTO `data_siswa` (`id`, `nama`, `alamat`) VALUES
(7, 'CV. ABC', 'Jakarta'),
(8, 'Andreas', 'Bandung');


ALTER TABLE `data_siswa`
ADD PRIMARY KEY (`id`);


ALTER TABLE `data_siswa`
MODIFY `id` int(12) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
COMMIT;

Selanjutnya…

Konekasi database mysql PHP

Buat folder: xampp > htdocs > latihan-php> koneksi.php

<?php 
// data akun database + nama database (password kosong)
$koneksi=mysqli_connect("localhost","root","","belajar_php");

if (mysqli_connect_errno()){ // cek kondisi jika koneksi berhasil
echo "Koneksi database gagal : " . mysqli_connect_error();}?>

Membuat tabel tampil data

file baru: xampp > htdocs > belajar-php > tampil_data.php

<!DOCTYPE html>
<html>
<head>
<title>Tampil data siswa (tabel)</title>
</head>
<body style="padding:15px;background:#ddd">
<h4> Tampil data siswa:</h4>
Menu: <a href="tampil_data.php"> Tampil data </a> . <a href="input_data.php"> Tambah data </a><br><br>

<form action="cari_data.php" method="get">
<input type="text" name="q" placeholder="cari nama..."> &nbsp;
<button type="submit">Cari</button>
</form><br>
<?php 
session_start(); // session untuk notifikasi pesan
echo @$_SESSION['pesan'];
session_destroy();
?>
<table border="1">
<tr><th align="center">ID</th>
<td width="85" align="center">Nama</td>
<td width="155" align="center">Alamat</td>
<td width="85" align="center">Opsi</td>
</tr>

<?php
include"koneksi.php";
$data = mysqli_query($koneksi,"select * from data_siswa order by id desc");
while($d = mysqli_fetch_array($data)){?>
<tr>
<td><?php echo $d['id'];?></td>
<td><?php echo $d['nama'];?></td>
<td><?php echo $d['alamat'];?></td>
<td><a href="edit_data.php?id=<?php echo $d['id']; ?>">Edit</a> / 
<a href="javascript:del(<?php echo $d['id'];?>)">Hapus</a></td>
</tr>
<?php
};
?>
</table>
<script language="JavaScript" type="text/javascript">
function del(id){
if (confirm("yakin akan menghapus data ini?")){
window.location.href = 'hapus_data.php?id=' + id;
}
}
</script>
</body>
</html>

Ket:

  • Penambahan form pencarian nama diatas tabel
READ :  CodeIgniter 3 : MVC (Models, Controllers, Views)

 

 

Hasil Pencarian data PHP Mysql

Konsep dasar pencarian dengan membuat file baru + sistem query SQL like:

  • latihan-php > cari_data.php

Kode:

<!DOCTYPE html>
<html>
<head>
<title>Cari data</title>
</head>
<body style="padding:15px;background:#ddd">
<h4> Hasil cari data</h4>
<hr>
<?php
$keyword=@$_GET['q']; // ambil variable keyword
echo "Data pencarian nama: '<i>".$keyword."</i>'";?><br><br>

<?php
include"koneksi.php";
//query cari dengan metode like 
$data = mysqli_query($koneksi,"select * from data_siswa where nama like '%".$keyword."%'");
if(mysqli_num_rows($data)==0){ // jikda data kosong
echo "<font color=red>MAAF, data tidak ditemukan!</font><br>";
}else{?>
<table border="1">
<tr><th align="center">ID</th>
<td width="85" align="center">Nama</td>
<td width="155" align="center">Alamat</td>
<td width="85" align="center">Opsi</td>
</tr>
<?php
// tampilkan data cari
while($d = mysqli_fetch_array($data)){?>
<tr>
<td><?php echo $d['id'];?></td>
<td><?php echo $d['nama'];?></td>
<td><?php echo $d['alamat'];?></td>
<td><a href="edit_data.php?id=<?php echo $d['id']; ?>">Edit</a> / 
<a href="javascript:del(<?php echo $d['id'];?>)">Hapus</a></td>
</tr>
<?php
}};
?>
</table>
<br>
<a href="tampil_data.php">- Kembali -</a>
<script language="JavaScript" type="text/javascript">
function del(id){
if (confirm("yakin akan menghapus data ini?")){
window.location.href = 'hapus_data.php?id=' + id;
}
}
</script>
</body>
</html>

Note:

  • Ada notifikasi jika data yang dicari kosong, tidak ditemukan.
  • Sistem menampilkan data yang data nama = $keyword yang diketikan.

 

Baca juga:

Kursus Private PHP Developer (PHP, HTML, Mysql)


Updated: January 8, 2024