Diberdayakan oleh Blogger.
RSS

Membuat Multiple Keyword Pencarian


Terkadang kita sering kali belajar mengenai metode pecarian, tapi tanpa Anda sadari ternyata pencariannya kok bersifat monoton ya?.. jadi hanya bisa memasukkan kata pencarian single (satu buah keyword), contohnya “Buku”. Nah sekarang bagaimana hasilnya bila kita mencari dengan keyword “Buku Baru Agus Saputra?” bila Anda belum mencoba teknik pencarian yang ini, maka dijamin deh itu hasil tidak akan muncul.. arti dari Multiple keyword yaitu metode pencarian yang akan menampilkan semua hasil sesuai keyword yang dimasukkan, walaupun keyword tersebut lebih dari 2 karakter. Jadi kalo kita masukin keyword “Buku Baru Agus Saputra”, maka data yang judulnya mengandung kata “Buku, Baru, Agus, dan Saputra” akan ditampilkan semua.. mudah-mudahan bisa dimengerti yah...

Berikut Spesifikasi Tabel dan Field yang dibutuhkan..
Nama Tabel : berita
Spek Field:
id | INT | Primary Key & AutoIncreament
id_kategori | INT
judul | Varchar (100)
keterangan | Text

Buat form dengan nama form.php yang isinya seperti berikut:
Skrip form.php
<form method="POST" action="cari.php">
<input type="text" name="keyword">
<input type="submit" value="Cari">
</form>


Kemudian langkah selanjutnya buat file untuk proses pencarian, simpan dengan nama cari.php. skripnya sebagai berikut:

Skrip cari.php
<?php
// Koneksi database
mysql_connect("localhost","root","");
mysql_select_db("trikphp");

// hilangkan spasi kiri dan kanan
$keyword = trim($_POST['keyword']);

// pisahkan dan hitung jumlah keyword
$pisah_kata = explode(" ", $keyword);
$jumlah_kata = (integer)count($pisah_kata);
$jml_kata = $jumlah_kata - 1;

// query untuk pencarian multiple keyword
$sql = "SELECT * FROM berita WHERE ";
for ($i=0; $i<=$jml_kata; $i++){
    $sql .= "judul LIKE '%$pisah_kata[$i]%'";
    if($i < $jml_kata){
        $sql .= " OR ";
    }
}
$sql .= " ORDER BY id DESC LIMIT 5";
$hasil = mysql_query($sql);

// Tampilkan ke dalam halaman web
echo "<h4>Keyword: $keyword </h4>";
while ($data = mysql_fetch_array($hasil)){
    echo "$data[judul]<br>";
}
?>


Semoga tutorial kali ini dapat memberikan manfaat untuk Anda.. 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar