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

36 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. linkny kok error gan, tolong kasih link yang baru

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

    BalasHapus
  8. it works.. thank you

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

    BalasHapus
  10. 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
  11. Gan, linknya mati, perbaiki donk gan...Lagi penting bangt ni untuk buat tugas kampus gan...

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

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

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

    BalasHapus
  15. 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
  16. itu bagian kategori_obat
    dapet dari mana ya ..
    tolong jawabanya sekarang thks

    BalasHapus
  17. terima kasih gan tutorial nya sangat bermanfaat

    BalasHapus
  18. link nya error mas , perbaiki dong

    BalasHapus
  19. link nya error mas , perbaiki dong

    BalasHapus
  20. tolong di re upload mas
    perlu bener soalnya

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

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

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

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

    BalasHapus
  25. Promo DonacoPoker Spesial Menyambut Lebaran

    Promo spesial untuk menyambut Bulan Puasa Donaco Poker memberikan promo spesial yang hanya untuk anda member-member setia kami dengan memberikan tambahan deposit sebesar 10+10%.
    Permainan di DonacoPoker
    - POKER
    - DOMINO
    - CEME
    - CEME KELILING
    - CAPSA
    - SUPER10
    - OMAHA
    Hubungi kami di :
    WHATSAPP : +6281333555662
    atau langsung di Livechat kami ya bosku. Terimakasih

    DAFTAR

    Judi Poker Online Terbaik

    BalasHapus
  26. Permainan yang tengah jadi pujaan sekarang ini ialah game bandarq. Game ini disukai sebab langkah bermainnya gampang dengan skema bermain yang berlainan, unik serta begitu mengasikkan. Dalam permainan bandarq ini pemain juga bisa jadi bandar serta ini merupakan pengembangan baru yang di kembangkan di game judi kartu online hingga berikut yang membuat game bandarq makin di favoritekan sekarang ini. Di permainan bandarQ ini siapa saja ( tiap-tiap pemain) dapat jadi Bandar dengan minimum syarat chips yang perlu di punya oleh pemain itu , bila pemain telah penuhi minimum chips itu , jadi saat duduk di meja , sebagai Bandar akan dengan automatis bergantian sesuai tempat duduk nya masing masing. Apabila anda tidak mempunyai minimum chips yang di tetapkan oleh agen itu. Jadi anda akan dengan automatis jadi seseorang pemain biasa, atau anda bisa menantang Bandar.

    Cara Agar Menang Besar Di Game BandarQ

    Untuk Info Selanjutnya di INDOKARTU

    Silahkan add kontak kami bosku ^^

    WA : 081333366766
    BBM : indkartu
    LINE : indokartu

    BalasHapus
  27. Permainan poker online ini begitu dahsyat serta membuat ingin tahu buat yang mainkan nya. Permainan ini unik serta lain dari yang lain, permainan poker ini bukan sekedar memercayakan hoki tapi mesti mengusai kemampuan bermain untuk memperoleh kemenangan yang besar.
    .
    Di pemahaman ini admin ingin mengulas langkah gampang memperoleh Jackpot poker online di IDN Poker ada cara-cara yang mempermudah anda untuk memperoleh Jackpot Royal Flush di permainan poker online ini. Baca langkah cara di bawah ini :


    * Beli Jackpot Disetiap Putaran

    Beli Jackpot Disetiap Putaran ialah hal yang harus yang perlu anda kerjakan waktu bermain poker online, Jackpot bisa anda beli di harga dapat dijangkau, dari Rp.100. Rp.500 serta Rp.1.000 Untuk tingkatkan kesempatan anda memperoleh Jackpot jadi belilah Jackpot di tiap-tiap putaran, anda belum pernah tahu kapan giliran yang pas buat anda memperoleh Jackpot.



    * Bermain Enjoy

    Anda mesti lakukan ini bila ingin memperoleh Jackpot. Contohnya anda memperoleh kartu bagus di tangan, anda janganlah terburu buru untuk meningkatkan taruhan anda, hingga lawan lawan anda tutup kartu atau Fold. Anda mesti masih Keep Calm serta perlahan-lahan meningkatkan taruhan anda. Manakah tahu cocok anda naikkan taruhan dengan All-In lawan lawan anda Fold serta nyatanya itu kartu Jackpot yang harusnya punya anda.



    * Janganlah Sempat Menyerah 

    Disini yang beberapa orang tidak mampu melalui nya sebab telah trauma untuk beli Jackpot hingga menbuat anda tidak membelinya . Yakinlah waktu anda memperoleh Jackpot Royal Flush atau Super Royal Flush, modal yang sempat anda beli Jackpot semua akan terbayarkan. Karenanya janganlah pesimis serta jangan sampai berpikir jika anda telah keluarkan modal yang banyak untuk beli Jackpot. Semua akan indah pada waktunya.

    Itu beberapa pendapat atau langkah untuk memperoleh Jackpot dalam permainan poker online. Hal yang penting ialah jangan sampai menyerah.

    CARA MUDAH MENDAPATKAN JACKPOT DI PERMAINAN POKER ONLINE

    Silahkan add kontak kami bosku ^^

    WA : 081333366766
    BBM : indkartu
    LINE : indokartu

    BalasHapus
  28. Ingin mencari Situs Bandar Judi Online Terpercaya dan Teraman?
    Sudah tidak perlu Anda ragukan lagi, segera bergabung bersama S128, Situs Bandar Judi Online Terpercaya dan Teraman !!
    Raih kemenangan Anda bersama kami hingga menjadi seorang JUTAWAN !!
    Minimal deposit hanya Rp 25.000,- Anda sudah bermain semua permainan disini.
    Disini juga menyediakan deposit via PULSA, OVO, dan GOPAY.
    Jadi, apa lagi yang ditunggu? Segera daftarkan diri Anda bersama kami.

    HOT PROMO BONUS yang tersedia :
    - BONUS NEW MEMBER 10%
    - BONUS DEPOSIT SETIAP HARI 5%
    - BONUS CASHBACK 10%
    - BONUS FREEBET 200rB
    - BONUS 7x KEMENANGAN BERUNTUN !! ( Sabung Ayam Online )

    Untuk informasi lebih lanjut bisa hubungi kami, melalui :
    - Livechat : S128Cash
    - WhatsApp : 081910053031

    Link Alternatif :
    - http://www.s128cash.org

    Ayam Sabung

    S128

    BalasHapus
  29. Fantastic blog post. I was checking constantly to this weblog
    My website: South Eastern Kenya University

    BalasHapus