Search dan Sorting Multiple Array Option php mysql


Sorting dalam penyajian data atau querry di php dan mysql adalah menampilkan data secara urut sesuai dengan permintaan user, nah kali ini saya menjelaskan sorting dengan multiple option menggunakan array multidimention. 

Pilihan pertama adalah mencari dengan form search, dengan mengetik keyword pada "form search" dan menekan tombol "cari",


Form seach akan mengirimkan Variable "$_POST['keyword']" sebagai "$keyword" dan mencari dengan clause where, dimana concat untuk mencari di semua field, like variable "$keyword". dan data yang dicari akan dii tampilkan pada table di bawahnya.

Berikut ini Kodingnya :
if(isset($_REQUEST['keyword']) && $_REQUEST['keyword']<>""){              $keyword=$_REQUEST['keyword'];
 $reload = "index.php?pagination=true&keyword=$keyword";
 $sql = "SELECT * FROM tbl_identitas WHERE concat(nama, jenis_kl, gelombang, prodi, ujian) LIKE '%$keyword%'";
 $result = mysql_query($sql); $rpp = 10;
 // jumlah record per halaman
 }
Kedua adalah Sorting dengan multiple option, yaitu menampilkan data yang tersusun berdasarkan urutan yang di buat oleh user dengan cara memilih menu yang di tampilkan pada form, dan menekan tombol sorting.


Adalah pilihan ke dua dengan "elseif", yaitu menangkap variable yang dikirim oleh form kedua dengan sorting, "sql=array()" membagi data yang di pilih melalui menu di form. kemudian "$sql=Implode('AND',$sql);" menambahkan clause AND pada variable berikutnya yang dimasukkan. apabila ada. sehingga menu sorting adalah bebas variable manapun yang dimasukkan terlebih dahulu. Kemudian data akan ditampilkan, pada table yang ada di bawahnya.

Berikut Kodingnya :
else if($_POST){
$prodi =$_REQUEST['prodi'];
 $gel = $_REQUEST['gelombang'];
 $jk = $_REQUEST['jenis_kl'];
 $ujian = $_REQUEST['ujian'];
 $reload = "index.php";
 $sql = array();
 if (!empty($prodi)) { $sql[] = "prodi = '$prodi'";
 } if (!empty($gel)) { $sql[] = "gelombang='$gel'";
 } if (!empty($jk)) { $sql[] = "jenis_kl='$jk'";
 } if (!empty($ujian)) { $sql[] = "ujian='$ujian'";
 } $sql = implode(' AND ', $sql);
 $sql = "SELECT * FROM tbl_identitas WHERE $sql ";
 $result = mysql_query($sql);
 $rpp = 500;
// jumlah record per halaman
 }
Yang Ketiga adalah menampilkan semua data pada table, yaitu apabila tidak ada variable yang masuk dari form search ataupun form sorting..



Berikut Kodingnya:
else {
 $reload = "index.php?pagination=true";
 $sql = "SELECT * FROM tbl_identitas";
 $result = mysql_query($sql);
 $rpp = 10; // jumlah record per halaman
 }

Untuk lebih jelasnya lihat demonya...