Sorting dan Searching data Tabel PHP MySQL




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.


<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

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

Jika anda ingin mencobanya sendiri, silahkan download source codenya disini

11 thought on “Sorting dan Searching data Tabel PHP MySQL”

  1. putra setia says:

    makasih sangat membantu

  2. rizal says:

    Mas itu gimana kalau misalnya ditambah coding pagging, kan kalau data melebihi 500 kan gak mungkin di Tarok dalam satu halaman?,

  3. FIRMAN YUHANSAH says:

    gaes kalo misalnya pengurutannya tidak di tampilkan gimana caranya

  4. diian ristan says:

    Om kalo misalnya mau di cari berdasarkan jurusan, nah si jurusan nya ada 2 jurusan pilihan 1 sma jurusan pilhan 2, jdi masing” tampilnya, klo pngen berdasarkan jurusan 1 yg tmpil cmn berdasarkan jurusan 1 klo mau brdasarkan jurusan 2 yg tmpil brdasarkan jurusan 2 itu gmna om ??

  5. izin sedot om.. lagi butuh ini.. :D

  6. Novriel zal says:

    ngan kalau mau prin hasil dari pencarian bagaimana ya

  7. Anonymous says:

    terima kasih sangat membantu sekali

  8. AKang Irul says:

    mas gmna cara menampilkan data detail berdasarkan id atau kode??

  9. Ordinary Man says:

    Om, kalo yg searching tapi formnya ada banyak tipenya gimana om? Maksudnya yg gak cuma tipe text aja, tapi juga ditambah semacam combobox gitu…

    Itu gimana om ya?

    1. Candra Adi Putra says:

      konsepnya sama, intinya perbedaannya pada query saja di bagian where

    2. Ordinary Man says:

      Terus, untuk supaya user bisa sorting data sesuai dengan keinginan user dengan memilih judul kolom tabel pada hasil pencarian, itu gimana om?

Tinggalkan Komentar plz!