Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

31 Okt 2011

Script PHP Pencarian Berdasarkan Pilihan Kategori ComboBox

Pencarian dalam sebuah website sangat penting guna memudahkan user dalam mendapatkan data lebih cepat tanpa harus melihat data satu-per-satu.

Google saja halaman utamanya adalah form search. Oleh karena itu begitu pentingnya pencarian dalam sebuah website.



Pada kesempatan kali ini, saya akan membahas mengenai bagaimana script pencarian tingkat lanjut dengan memanfaatkan combobox sebagai pilihan kategori pencarian pada PHP.


Kita buat database dengan nama obat.

Kemudian kita buat tabelnya:
CREATE TABLE obat (
  id_obat int(5) NOT NULL AUTO_INCREMENT,
  nama_obat varchar(50) NOT NULL,
  produk varchar(50) NOT NULL,
  indikasi text NOT NULL,
  golongan_obat varchar(50) NOT NULL,
  PRIMARY KEY (`id_obat`));


Dan inputkan data:
INSERT INTO obat (id_obat, nama_obat, produk, indikasi, golongan_obat) VALUES

(1, 'ADFER CAPSULE', 'Fahrenheit', 'Anemia yang disebabkan kekurangan Fe, anemia akibat traumatik atau anemia endogenik, anemia akibat perdarahan selama masa pertumbuhan, usia lanjut & masa penyembuhan, kehamilan, menyusui, anemia yang disebabkan malnutrisi umum atau diet', 'bebas'),

(2, 'BYCOLEN SYRUP', 'Landson', 'Meredakan batuk, flu, demam, masuk angin, sakit kepala', 'Keras'),

(3, 'DEGIROL', 'Darya-Varia', 'Sakit tenggorokan, infeksi pada rongga mulut dan faring, setelah pencabutan gigi untuk mencegah infeksi pada membran mukosa mulut dan pencegahan batuk dan pilek, terutama untuk perokok', 'Bebas'),

(4, 'ACCOLATE TABLET', 'Astra Zeneca', 'Pencegahan & pengobatan jangka panjang asma pada orang dewasa & anak-anak yang berusia 12 tahun ke atas', 'Bebas Terbatas');


Kemudian kita buat koneksi databasenya
koneksi.php
<?php
//set the database connection variables

$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbDatabase = "obat";

//connet to the database

$db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("I cannot connect to the database because: " . mysql_error());
mysql_select_db("$dbDatabase", $db) or die ("I cannot select the database '$dbname' because: " . mysql_error());
?>


Form utama pencarian
index.php
<?php
include("koneksi.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pencarian Berdasarkan Kategori di PHP</title>
<script src="selectdesa.js"></script>
</head>
<body>
<form method="POST" action="">
Search: <input type="text" name="txtsearch">
<select name="kategori_obat">
 <option value="nama_obat">Nama Obat</option>
 <option value="produk">Produk</option>
 <option value="indikasi">Indikasi</option>
 <option value="golongan_obat">Golongan Obat</option>
</select>
<input type="submit" value="Search" name="submit"/>

<?php
  if (isset($_POST['submit'])) {
   $search = $_POST['txtsearch'];
   $kategoriobat = $_POST['kategori_obat'];
   
   $sql = "SELECT * FROM obat WHERE $kategoriobat LIKE '%$search%'";
   $result = mysql_query($sql) or die('Error, list obat failed. ' . mysql_error());
    
   if (mysql_num_rows($result) == 0) {
    echo '<p></p><p>Pencarian tidak ditemukan</p>';
   } else {
    echo '<p></p>';
    while ($row = mysql_fetch_array($result)) {
     extract($row);
      
     echo '<p>Nama Obat: '.$nama_obat.'</p>';
     echo '<p>Produk: '.$produk.'</p>';
     echo '<p>Indikasi: '.$indikasi.'</p>';
     echo '<p>Golongan Obat: '.$golongan_obat.'</p>';
     echo '<p></p>';
    }
   }
  }
?>
</form>
</body>
</html>




Silahkan dicoba melakukan pencarian berdasarkan kategori tertentu pada combobox.
Dan anda dipersilahkan download contoh projectnya: pencarian-php.zip

30 komentar:

  1. makasih bos..membantu banget

    BalasHapus
  2. Link nya mati gan, Bisa diperbaiki??

    BalasHapus
  3. Iya nich, Linknya Error...

    BalasHapus
  4. Gan, Tolong dicek linknya,.,.
    ane coba error ni...

    BalasHapus
  5. iya mohon maaf, nanti saya perbaiki linknya....

    BalasHapus
  6. makasih gan :)

    BalasHapus
  7. linkny kok error gan, tolong kasih link yang baru

    BalasHapus
  8. bagus ne gan.. tapi error.. di cek donk gan..

    BalasHapus
  9. it works.. thank you

    BalasHapus
  10. thanx bangetz gan...udah bisa ngebantu...

    BalasHapus
  11. kalo untuk permasalahan sperti ini gmna ya mas :

    combobox pertama berisi list nama kota didapat dari database table kota
    sedangkan combobox kedua berisi nama kabupaten yg didapat dari table kabupaten, tetapi biar list kabupaten nya sesuai dengan kota yg dipilih gmna ya mas,

    misal di combobox1 kota value nya : dki jakarta
    di combobox2 kabupaten value nya otomatis : jaktim,jakut,jaksel,dll
    tanpa harus submit/klik button

    apa pakai php saja bisa mas? atau perlu javascript?
    terima kasih

    BalasHapus
  12. Gan, linknya mati, perbaiki donk gan...Lagi penting bangt ni untuk buat tugas kampus gan...

    BalasHapus
  13. ga bakalan di update link nya. error terus tuh. klo ga niat ngeblog jangan ngeblog bos.

    BalasHapus
  14. kalou trik lain gimana mas brow, jadi tanpa search

    BalasHapus
  15. Link workspace nya mati gan, tolong diperbaiki dulu

    BalasHapus
  16. Sangat membantu sekali, mas. :D
    Oh iya, mas. Tolong buat tutorial pencarian data berdasarkan bulan/tahun dengan combo box dong, mas. Ane susah nemu contoh sederhananya. Thanks, mas. :D

    BalasHapus
  17. itu bagian kategori_obat
    dapet dari mana ya ..
    tolong jawabanya sekarang thks

    BalasHapus
  18. terima kasih gan tutorial nya sangat bermanfaat

    BalasHapus
  19. link nya error mas , perbaiki dong

    BalasHapus
  20. link nya error mas , perbaiki dong

    BalasHapus
  21. tolong di re upload mas
    perlu bener soalnya

    BalasHapus
  22. link download nya error nih min, bisa re-upload lagi min??

    BalasHapus
  23. visit sini gan http://asdanks.id

    BalasHapus
  24. mohon bimbingannya saya mau tanya...bagaimana cara mengirim data ke laman lain berdasarakan combobox yang terpilih..

    BalasHapus
  25. Terima kasih ilmunya, akan lebih menarik jika disertai demo atau minimal screenshot --> Jam Tangan Unik Aneh Jarang Ada

    BalasHapus