Pilih Laman

sumber: https://kelasprogrammer.com/pencarian-php/

Database Configuration

Buat database dengan nama akademik

create database akademik;

Selanjutnya buat tabel dengan nama mahasiswa

create table mahasiswa (
    nik char(10) not null primary key,
    nama varchar(50) not null,
    jk char(1),
    tanggal_lhr date,
    jurusan char(2),
    umur int
    );

Kemudian terakhir masukan beberapa contoh data kedalam tabel mahasiswa

INSERT INTO mahasiswa
VALUES
('135410156','Ahmad Riko','1','1995-02-23','TI',22),
('135610157','Dahlan Iskan','1','1998-03-26','SI',20),
('135410189','Wawan Setiawan','1','1993-02-13','TI',23),
('135310156','Safitri Ayu','2','1995-09-01','TK',22),
('135310150','Rian Hidayat','1','1997-08-05','TK',20),
('135510920','Dani Hermawan','1','1996-05-05','SI',23),
('135518322','Nita Daniyatun','2','1994-09-05','TI',23),
('135518900','Mili Wilian','2','1995-10-08','SI',22),
('135510190','Marshel Saraun','1','1993-10-23','MI',23),
('135510191','Nacha Saraun','2','1995-01-13','MI',20),
('135558944','Bayu Mandalika','1','1997-01-15','SI',19),
('158984545','Juan Burnama','1','1993-01-20','SI',24),
('158549583','Candra Sidauruk','1','1994-10-22','TK',23),
('136349343','Kory Ubi','2','1992-10-29','MI',25),
('147343998','Chika Lestari','2','1996-11-12','MI',21);

Bootstrap Configuration

Untuk membuat aplikasi dengan fitur pencarian php, disini saya menggunakan bootstrap untuk tampilannya. Bila kita sudah mendownload bootstrap kita hanya perlu memanggilnya lewat bagian <head>

 

 

  • <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">

a connectioCreate n.php file

Selanjutnya kita buat file dengan nama koneksi.php file ini berfungsi untuk membuat koneksi dari aplikasi ke database.

  • <?php
    $host
    ="localhost";
    $user
    ="root";
    $password
    ="";
    $db
    ="akademik";
    $kon

    = mysqli_connect($host,$user,$password,$db);
    if (!$kon){
    die("Koneksi gagal:".mysqli_connect_error());
    }
    ?>

Creating a simple search feature with PHP

Buat sebuah file dengan nama index.php

<!DOCTYPE html>
<html>
<head>
<!-- Load file CSS Bootstrap offline -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<br>
<h4>Menampilkan Data pada Tabel berdasarkan pilihan Combo Box di PHP</h4>

<form action=”<?php echo $_SERVER[“PHP_SELF”];?>” method=”post”>
<div class=“form-group”>
<label for=“sel1”>Kata Kunci:</label>
<?php
$kata_kunci
=“”;
if (isset($_POST[‘kata_kunci’])) {
$kata_kunci
=$_POST[‘kata_kunci’];
}
?>
<input type=”text” name=”kata_kunci” value=”
<?php echo $kata_kunci;?>” class=”form-control” required/>
</div>
<div class=“form-group”>
<input type=“submit” class=“btn btn-info” value=“Pilih”>
</div>
</form>

<table class=“table table-bordered table-hover”>
<br>
<thead>
<tr>
<th>No</th>
<th>NIK</th>
<th>Nama</th>
<th>Jenis Kelamin</th>
<th>Tanggal Lahir</th>
<th>Jurusan</th>
<th>Umur</th>

</tr>
</thead>
<?php

include “koneksi.php”;
if (isset($_POST[‘kata_kunci’])) {
$kata_kunci
=trim($_POST[‘kata_kunci’]);
$sql
=“select * from mahasiswa where nik like ‘%”.$kata_kunci.“%’ or nama like ‘%”.$kata_kunci.“%’ or jurusan like ‘%”.$kata_kunci.“%’ order by nik asc”;

}else {
$sql
=“select * from mahasiswa order by nik asc”;
}

$hasil=mysqli_query($kon,$sql);
$no
=0;
while ($data = mysqli_fetch_array($hasil)) {
$no
++;

?>
<tbody>
<tr>
<td><?php echo $no;?></td>
<td><?php echo $data[“nik”]; ?></td>
<td><?php echo $data[“nama”]; ?></td>
<td><?php echo $data[“jk”]; ?></td>
<td><?php echo $data[“tanggal_lhr”]; ?></td>
<td><?php echo $data[“jurusan”]; ?></td>
<td><?php echo $data[“umur”]; ?></td>
</tr>
</tbody>
<?php
}
?>
</table>
</div>

</body>
</html>

Saya akan sedikit jelaskan bagian-bagian penting dari program diatas.

  • <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
    <div class="form-group">
    <label for="sel1">Kata Kunci:</label>
    <?php
    $kata_kunci
    ="";
    if (isset($_POST['kata_kunci'])) {
    $kata_kunci
    =$_POST['kata_kunci'];
    }
    ?>
    <input type="text" name="kata_kunci" value="
    <?php echo $kata_kunci;?>" class="form-control" required/>
    </div>
    <div class="form-group">
    <input type="submit" class="btn btn-info" value="Cari">
    </div>
    </form>
    The first thing to note in this syntax is a form where there is a text field and a button, the workflow is when the user enters a keyword in the text field and then presses the “Search” button, the form will be sent via the global variable $_SERVER[“PHP_SELF” ] This variable serves to send the form to the file itself without having to move to another page. So the form will be submitted and processed in the php file itself. Next I also use the POST method so that the keywords I enter are hidden / don’t appear in the url.
  • <?php
    $kata_kunci
    ="";
    if (isset($_POST['kata_kunci'])) {
    $kata_kunci
    =$_POST['kata_kunci'];
    }
    ?>

    Pay attention to the syntax above, we create a condition to check whether there is a form submission value for the post method with the name “key_key” if yes, then we define the $kata_key variable with that value.
 <input type="text" name="kata_kunci" value="<?php echo $kata_kunci;?>" class="form-control"  required/>

Kemudian kita tampikan nilai dari variabel $kata_kunci pada atribut value di text field tersebut. Hal ini berfungsi agar kata kunci yang dimasukan oleh pengguna akan tetap tampil pada text field saat form dikirim.

 include "koneksi.php";

Sintak diatas berfungsi untuk menyertakan file koneksi.php yang telah kita buat.

  • if (isset($_POST['kata_kunci'])) {
    $kata_kunci
    =trim($_POST['kata_kunci']);
    $sql
    ="select * from mahasiswa where nik like '%".$kata_kunci."%' or nama like '%".$kata_kunci."%' or jurusan like '%".$kata_kunci."%' order by nik asc";
    } else {
    $sql
    ="select * from mahasiswa order by nik asc";
    }

Trials

Sekarang kita coba jalankan aplikasi pencarian dengan PHP. Tampilan awalnya akan seperti pada gambar berikut

 

 

Ketika saya memasukan kata kunci “1355” pada form inputannya lalu menekan tombol cari, maka akan menampilkan data yang mengandung kata kunci tersebut.

pencarian dengan php

Selain pada kolom nik, kita juga bisa mencari data berdasarkan data pada kolom nama dan jurusan. Bila kita ingin menambahkan untuk kolom lainnya kita bisa tambahkan pada bagian query sql nya.

  • $sql="select * from mahasiswa where nik like '%".$kata_kunci."%' or nama like '%".$kata_kunci."%' or jurusan like '%".$kata_kunci."%' order by nik asc";

    Creating a Search Form based on a combo box
  • In the second example we will slightly modify the above program, we will add a select tag for the drop down or we can call it a combo box. The workflow is that the user will search for data with a keyword that refers to his choice of combo box. For example, here I only make 3 choices in the combo box. the first is a search by NIK, the second is name and the last is major. To make it add the following syntax to the form
    <div class="form-group">
        <label for="sel1">Pencarian pada kolom:</label>
        <?php
        $nik="";
        $nama="";
        $jurusan="";
        if (isset($_POST['kolom'])) {

            if ($_POST['kolom']=="nik")
            {
                $nik="selected";
            }else if ($_POST['kolom']=="nama"){
                $nama="selected";
            }else {
                $jurusan="selected";
            }
        }
        ?>
            <select class="form-control" name="kolom" required>
                <option value="" >Silahkan pilih kolom dulu</option>
                <option value="nik" <?php echo $nik; ?> >NIK</option>
                <option value="nama" <?php echo $nama; ?> >Nama</option>
                <option value="jurusan" <?php echo $jurusan; ?> >Jurusan</option>
         </select>
     </div>

 

       if (isset($_POST['kata_kunci'])) {
            $kata_kunci=trim($_POST['kata_kunci']);

            $kolom="";
            if ($_POST['kolom']=="nik")
            {
                $kolom="nik";
            }else if ($_POST['kolom']=="nama"){
                $kolom="nama";
            }else {
                $kolom="jurusan";
            }

            $sql="select * from mahasiswa where $kolom like '%".$kata_kunci."%'  order by nik asc";

        }else {
            $sql="select * from mahasiswa order by nik asc";
        }