Pencarian Berdasarkan Pilihan Kategori ComboBox
Salam coding.. sahabat suckittrees.. beberapa pengalaman dalam Menampilkan data lewat combobox akan memberikan kesan yang berbeda bagi programer pemula.. hal seperti ini akan sering dijumpai jika kita membuat sebuah aplikasi database.
Bekerja dengan combobox sebenarnya cukuplah mudah.. kenapa.. ???? karena kita memberikan logika pasti.. maksudnya data yang ada dicombobox tentulah merupakan satu kriteria khusus yang digunakan untuk membatasi pengguna dalam menentukan pilihan. Dan tentunya data pada combobox harus memiliki keterkaitan dengan data yang akan di tampilkan.
Tutorial kali ini kita akan membuat Pencarian Berdasarkan Pilihan Kategori Combobox dengan PHP MYSQL , artikel sebelumnya admin sudah menulis Membuat Pencarian Data PHP MYSQL , berbeda dengan artikel sebelumnya dimana artikel kali ini kita akan membuat pencarian berdasarkan data di database yang kita tampilkan di combobox terlebih dahulu, Dan akan melakukan pencaraian berdasarkan combobox yang dipilih
Pencarian Berdasarkan Combobox
Berikut ini kita akan mulai membuat pencarian berdasarkan combobox di php mysql,
Yang pertama buata database dengan nama : obat , kemdian buat tabel dibawah ini, pastekan di sql nya
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`));
Insertkan data dengan script sql dibawah ini :
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');
Setelah itu kita buat file 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());
?>
Dan berikut ini form utama pencarian data index.php
<!DOCTYPE html>
<html>
<head>
<title>Pencarian Berdasarkan Kategori di PHP</title>
</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>
Setelah itu , jalankan di browser / server localhost anda, dan selamat mencoba ya.. semoga tips ini bermanfaat untuk anda , yang ingin download source codenya download di link dibawah ya
Menampilkan data Berdasarkan Combobox
Sedikit perbedaan saja sebenarnya dalam menampilan data berdasarkan pilihan combobox.. kita hanya perlu mengubah klause query nya.. jika pada data diatas kita menggunakan LIKE
, jika terdapat 2 klause kita bisa menggunakan AND , disini kita tidak perlu cukup menggunakan WHERE='klause'
contoh :
$search = $_POST['txtsearch'];
$kategoriobat = $_POST['kategori_obat'];
$sql = "SELECT * FROM obat WHERE $kategoriobat AND '%$search%'";