Tutorial PHP: Searching dan Ordering

Assalamualaikum Semua





      Hallo semua selamat datang kembali. Saya Muhammad Aslam atau panggil saja Mas Lam akan berbagi pengetahuan tentang PHP langsung saja tanpa banyak basa basi lagi yu urang belajar PHP

      Pada blog kali ini pastikan kalian sudah mempunyai kodingan pada sesi CRUD sebelumnya supaya mempermudah.
   
     Pertama Searching

untuk membuat fitur searching kalian harus membuat input search nya terlebih dahulu. buka views/v_index.php lalu tambahkan kode berikut

<form method="GET" action="index.php">
Cari Berdasarkan NIS atau Nama
<input type="text" name="search" value="<?= @$search ?>">
<button type="submit">Cari</button>
</form>

Terserah ingin di tempatkan dimana yang pasti itu untuk menginput untuk searching

Selanjutnya Edit file index.php seperti dibawah ini


<?php
include 'lib/library.php';

$sql = 'SELECT * FROM siswa';
//Searching Start
$search = @$_GET['search'];
if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' ";
        //Searching end
        $listSiswa = $mysqli->query($sql);
include 'view/v_index.php';
?>

Penjelasan

$search = @$_GET['search'];
Digunakan untuk menangkap data dengan nama “search” yang dikirim dari form dengan metode GET

if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' ";
Jika variable $search tidak kosong (artinya user mengisi inputan search pada form) maka, tambahkan sintaks SQL untuk mencari berdasarkan NIS atau nama lengkap

Hasil dari query lengkapnya menjadi:

SELECT * FROM t_siswa WHERE nis LIKE ‘%ferry%’ OR nama_lengkap LIKE ‘%ferry%’

Perintah diatas akan menampilkan data yang memiliki NIS ferry atau nama_lengkap ferry


Selanjutnya Untuk ordering Pertama kalian masuk ke v_index.php lalu tambahkan kode hingga menjadi seperti ini

<tr>
<th>#</th>
<th>
NIS
                                        //tambahkan kode dibawah ini
<a href="index.php?sort=nis&order=asc">&#9650;</a>
<a href="index.php?sort=nis&order=desc">&#9660;</a>
</th>
<th>Nama Lengkap
                                       //tambahkan kode dibawah ini
<a href="index.php?sort=nama_lengkap&order=asc">&#9650;</a>
<a href="index.php?sort=nama_lengkap&order=desc">&#9660;</a>
</th>
<th>Jenis Kelamin</th>
<th>Kelas</th>

Lalu masuk ke file index.php dan tambahkan kode hingga menjadi seperti dibawah ini

<?php
include 'lib/library.php';

$sql = 'SELECT * FROM siswa';
//Searching start
$search = @$_GET['search'];
if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' ";
    //Searching end
    //ordering start
$order_field = @$_GET['sort'];
$order_mode = @$_GET['order'];

if (!empty($order_field) && !empty($order_mode)) $sql .= " ORDER BY $order_field $order_mode";
    //ordering end
$listSiswa = $mysqli->query($sql);
include 'view/v_index.php';
?>

Penjelasan
Jika variable $order_field dan $order_mode tidak kosong (artinya user mengklik tombol sort pada tabel) maka, tambahkan sintaks SQL untuk melakukan ordering berdasarkan kolom yang diklik

Hasil dari query lengkapnya menjadi:

SELECT * FROM t_siswa ORDER BY nis ASC’

Perintah diatas akan menampilkan data dengan diurutkan berdasarkan nis secara ASCENDING


Selanjutnya bagaimana cara mereset searching dan ordering yang telah di inputkan? caranya mudah sekali kalian hanya perlu membuat tombol seperti reload kodenya seperti berikut

<form action="index.php">
<button type="submit">Kembali Ke Semula</button>
</form>

kode diatas maksudnya adalah ketika kalian memencet tombolnya maka kalian akan membuka index.php default nya

Hasilnya setelah di hias akan seperti ini

 Searching


Ordering nis Asc
Ordering nis Decs

Comments