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