Cara Membuat Pencarian Multiple di PHP pada Database Mysql

Cara Membuat Pencarian Multiple di PHP pada Database Mysql
Picture by : #
16 Mei 2020 » Post by : Admin@Wibloog

Pencarian berdasarkan kata kunci pada data di dalam database sangat diperlukan, untuk pencarian data yang akurat dalam ribuan data dengan menggunakan teknik manual satu per satu akan memakan waktu yang lama, hal ini pasti akan mengalami kesulitan, misalkan saja ada sebuah toko sparepart motor, dimana jumlahnya memiliki banyak kategori dan memiliki ribuan jenis produk, apa jadinya jika ada pelanggan menanyakan barang yang akan dibeli mulai dari merek, stok, harganya pasti membutuhkan waktu yang lama.

Google merupakan salah satu perusahaan raksasa mesin pencari, yang banyak di gunakan sebahagian di dunia, untuk mencari informasi baik itu berita, artikel, video, music dan lain lain, Google hanya dengan menggunakan kata kunci atau keyword pencarian, maka akan tampil di halaman beranda google dalam hitungan detik saja.

Pastinya kita tidak akan meniru sistem pencarian Google, paling tidak kita dapat menggunakan bagaimana cara mencari data di dalam sebuah database yang jumlahnya ribuan dan bahkan jutaan rekord data dalam hitungan detik, tanpa harus membutuhkan banyak waktu.

Kali ini penulis akan sharing tentang bagaimana Cara Membuat Pencarian Multiple di PHP pada Database Mysql dengan teknik yang sangat sederhana, seperti pada website wiblogg.com, tampak seperti dibawah ini.


Penulis akan memberikan source code kepada pembaca untuk dapat dikembangkan, script yang saya bagikan adalah proses pencariannya saja, tidak sampai dengan ajax maupun javascriptnya. Pada kesempatan kali ini penulis mencontohkan dengan menggunakan data barang dan kategori barang, hanya menggunakan 2 tabel saja untuk pencariannya. Berikut dibawah ini tutorialnya 


1. Buat Tabel Produk dan Kategori

Siapkan tabel kategori dahulu, berikut dibawah ini struktur tabelnya.

CREATE TABLE `kategori` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `nm_ktg` varchar(200) DEFAULT NULL,
  `hapus` enum('Y','T') DEFAULT 'T',
  PRIMARY KEY (`id`),
  KEY `id_nm_ktg` (`id`),
  FULLTEXT KEY `nm_ktg` (`nm_ktg`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;

Selanjutnya siapkan tabel produknya, berikut dibawah ini tabel produknya.

CREATE TABLE `produk` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `id_ktg` int(12) NOT NULL DEFAULT '0',
  `ktg_produk` int(12) NOT NULL DEFAULT '0',
  `kode_produk` varchar(50) DEFAULT NULL,
  `nm_produk` varchar(300) DEFAULT NULL,
  `deskripsi` varchar(1600) DEFAULT NULL,
  `berat` varchar(12) DEFAULT NULL,
  `satuan` varchar(35) DEFAULT NULL,
  `harga` double DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `kode_produk` (`kode_produk`),
  KEY `id_ktg` (`id_ktg`),
  KEY `ktg_produk` (`ktg_produk`),
  KEY `kode_produk_2` (`kode_produk`),
  KEY `nm_produk_2` (`nm_produk`),
  KEY `id_ktg_2` (`id_ktg`),
  FULLTEXT KEY `nm_produk` (`nm_produk`),
  FULLTEXT KEY `deskripsi` (`deskripsi`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;

Jika tabel sudah terbuat, selanjutnya silakan isi data dummy baik kategori maupun produknya dengan menggunakan phpmyadmin atau editor lainnya.

 

2. Pencarian

Silakan buat file dengan nama cari_produk.php dan di simpan di folder htdocs, atau pembaca bisa menggunakan folder latihan. Berikut dibawah ini script pencarian data multiple menggunakan bahasa pemrograman PHP.

<?php 
error_reporting(0);
date_default_timezone_set("Asia/Jakarta");
$host_db="localhost";
$user_db="root";
$pass_db="";
$nama_db="gawean";
$mysqli = new mysqli($host_db,$user_db,$pass_db,$nama_db);

$cari_text ="Gar";
if(strlen($cari_text)>0){
        $cari_produk="(";
        $cari_kategori="(";
        $x=explode(' ',$cari_text);
        for($i=0;$i<count($x);$i++){
            $cari_produk.="a.nm_produk like '%$x[$i]%' or a.kode_produk like '%$x[$i]%'";
            $cari_kategori.="b.nm_ktg like '%$x[$i]%' or a.nm_produk like('%$x[$i]%')";
            if($i!=count($x)-1){
                $cari_produk.=' or ';
                $cari_kategori.=' or ';
            }
        }
        $cari_produk.=') ';
        $cari_kategori.=') ';
    }else{
        $cari_produk='';
        $cari_kategori='';
    }
echo "<h3>Pencarian Dalam Kategori</h3>";
$q_kategori = $mysqli->query("select a.*,b.nm_ktg from produk a 
                                left join kategori b on a.id_ktg=b.id 
                                where $cari_kategori group by b.nm_ktg order by a.nm_produk asc");
echo "<ul>";
while($v_kategori = $q_kategori->fetch_assoc()){
    echo "<li>".strtoupper($v_kategori['nm_ktg'])."</li>";
}
echo "</ul>";
echo "<h3>Pencarian Dalam Produk</h3>";
$q_produk = $mysqli->query("select a.* from produk a 
                                left join kategori b on a.id_ktg=b.id 
                                where $cari_produk order by a.nm_produk asc");
echo "<ul>";
while($v_produk = $q_produk->fetch_assoc()){
    echo "<li>".$v_produk['kode_produk']." - ".strtoupper($v_produk['nm_produk'])."</li>";
}
echo "</ul>";
?>

 


3. Hasil Pencarian

Berikut dibawah ini hasil pencarian berdasarkan kata kunci Gar, dapar di lihat pada script seperti ini $cari_text ="Gar";

Hasil diatas menunjuakan ada dua model, yang pertama pencarian di kategori, bagian kedua pencarian produk. Demikian tutorial ini kami bagikan, terima kasih telah berkunjung di website kami, Selamat Mencoba


Artikel Terkait
Cara Buka Touch ID Finger Tanpa Tekan Home Button di iPhone 5S, 6, 6S, SE
Cara Bersihkan Cache Browser di iPhone
Pilih Mana, AMD atau Intel Buat PC Gaming? Berikut Penjelasannya
Pengaruh Tampilan Website Terhadap Bisnis Online Anda
Membangun Blog Lebih Dari Satu, Efektifkah?
Tips Cara Menaikkan Trafik Blog bagi Pemula
Masalah Sitemap.xml Forbidden Access Error 403
Distro Linux yang Mirip Mac OS
Google Chrome : Update Keamanan Penggunaan Password Login di Browser
Pentingnya Password dan Touch ID untuk Keamanan di Ponsel Anda

Ada 0 Komentar di "Cara Membuat Pencarian Multiple di PHP pada Database Mysql"


Tinggalkan Komentar Disini