Sorting dan Searching data Tabel PHP MySQL

cari
Dalam tutorial kali ini, saya akan meneruskan materi kemarin. Jika dalam tutorial sebelumnya pembahasan fokus pada cara menampilkan data, maka sekarang kita akan membahas dua hal yang masing berhubungan dengan menampilkan data. Dua hal tersebut adalah Pengurutan (Sorting) dan Pencarian (Searching). Bagi anda yang belum mambaca panduan sebelumnya, silahkan membaca terlebih dahulu karena database dan skrip koneksi menggunakan script yang sama. Untuk membuat pencarian dan pengurutan, file utama cuma satu yaitu mahasiswa2.php. Jika anda ingin mencoba code di panduan ini, beri nama mahasiswa2.php. Hasil pencarian dan pengurutan tetap berada di mahasiswa2.php.
Untuk lebih memahami code, tekankan pada kode yang di highlight karena logika utama ada disitu.

Pengurutan

Untuk melakukan pengurutan, user cukup mengklik header dari kolom tabel. Dalam kasus ini, user bisa mengurutkan ascending atau descending saat mengklik header kolom nim atau kolom nama. Pengurutan bersifat toggle, artinya jika klik pertama diurutkan ascending maka saat header kolom tersebut di klik lagi maka data akan diurutkan secara descending.
?
source code
<h2>Pengurutan</h2>
    <table border="1" width="500px">     
<?php
require_once('koneksi.php');
$query1="select * from mahasiswa order by nim ";
$pola='asc';
$polabaru='asc';
if(isset($_GET['orderby'])){
  $orderby=$_GET['orderby'];
  $pola=$_GET['pola'];
   
  $query1="SELECT * FROM  mahasiswa order by $orderby $pola ";
  if($pola=='asc'){
    $polabaru='desc';
     
  }else{
    $polabaru='asc';
  }
}
?>
<th>
        <td><a href='mahasiswa2.php?orderby=nim&pola=<?=$polabaru;?>'>Nim</a></td>
        <td><a href='mahasiswa2.php?orderby=nama&pola=<?=$polabaru;?>'>Nama</a></td>
        <td>IPK</td><td>Jurusan</a></td>
</th>
         
<?php
//query database
$result=mysql_query($query1) or die(mysql_error());
$no=1; //penomoran
while($rows=mysql_fetch_object($result)){
      ?>
      <tr>
        <td><?php echo $no
        ?></td>
        <td><?php    echo $rows -> nim;?></td>
        <td><?php    echo $rows -> nama;?></td>
        <td align='right'><?php    echo $rows -> ipk;?></td>
        <td><?php    echo $rows -> jurusan;?></td>
      </tr>
      <?php
$no++;
}?>
    </table> 
Output dari hasil pengurutan data berdasarkan nama






hasil pengurutan berdasarkan nama

Pencarian

Untuk melakukan pencarian hal yang perlu diperhatikan pada clause where di script sqlnya. Untuk contoh nanti, user bisa melakukan pencarian berdasarkan nim atau nama. potongan kodenya sebagai berikut
?
source code
h2>Pencarian Data</h2>
    <form action='mahasiswa2.php'method="POST">
  <input type='text' value='' name='qcari'>
  <input type='submit' value='cari'
   ><a href='mahasiswa2.php' >All</a>
</form>
    <table border="1" width="500px">
      <th><td>Nim</a></td><td>Nama</td><td>IPK</td><td>Jurusan</td></th>
<?php
require_once('koneksi.php');
$query1="select * from mahasiswa ";
if(isset($_POST['qcari'])){
  $qcari=$_POST['qcari'];
  $query1="SELECT * FROM  mahasiswa
  where nim like '%$qcari%'
  or nama like '%$qcari%'  ";
}
$result=mysql_query($query1) or die(mysql_error());
$no=1; //penomoran
while($rows=mysql_fetch_object($result)){
      ?>
      <tr>
        <td><?php echo $no
        ?></td>
        <td><?php    echo $rows -> nim;?></td>
        <td><?php    echo $rows -> nama;?></td>
        <td align='right'><?php    echo $rows -> ipk;?></td>
        <td><?php    echo $rows -> jurusan;?></td>
      </tr>
      <?php
$no++;
}?>
    </table> 
Tampilan dari program pencarian


sumber:  http://www.candra.web.id/sorting-dan-searching-data-tabel-php-mysql/

Comments

Popular posts from this blog

Sering terganggu dengan notifikasi grup WA, inilah solusinya!!!

Perbedaan Berbagai Jenis Kain Yang Sekilas Sama