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
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
Pilih Mana Server Linux atau Windows Untuk Usaha UMKM Retail Anda
Cara Cek Performa dan SEO Blog Anda
Pengaruh Perubahan Algoritma Google terhadap Blog dan Website
Pilih Mana CMS Blogspot atau Web HTML Bootstrap Untuk Blog
Penerapan Bisnis Proses Dalam Informasi Teknologi dan Aplikasi
5 Alasan Kenapa Trafik Blog Turun saat Hari Libur
Waspada! Ini 5 Ancaman Cyber Attack yang Berbahaya

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


Tinggalkan Komentar Disini