Cara Membuat Pencarian Multiple di PHP pada Database Mysql

Cara Membuat Pencarian Multiple di PHP pada Database Mysql
5.0 K View • 16 Mei 2020
Picture by : # • Post by : Admin@wirneet


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






Penulis
Jumadi
Sumatra, Indonesia Jumadi adalah seorang IT Konsultan di Bidang Perkebunan Kelapa Sawit yang berasal dari Kota Medan, Sumatra ia merupakan lulusan Teknik Informatika di STMIK AKAKOM Yogyakarta, yang kini menjadi Universitas UTDI, ketertarikan menulis menjadi salah satu inspirasi untuk berbagi informasi dan ilmu pengetahuan dari pengalaman bekerja. Dengan pengalaman tersebut Jumadi menyempatkan di sela - sela waktu luang dengan menulis konten artikel SEO yang mengutamakan originalisasi. Hampir semua topik konten di sukai, mulai tentang iptek, otomotif, olahraga, pertanian, gadget dan pendidikan. Saat ini ia bekerja sebagai IT Konsultan di salah satu perusahaan pengembang software perkebunan kelapa sawit.
in

Artikel Terkait


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


Tinggalkan Komentar Disini