Saya ingin sharing saja ya:
saya juga pernah pusing 7 keliling bagaimana sih membuat pencarian dengan kategori harga atau nilai?
ini contoh php yang saya otak atik (mungkin berbeda kodenya tapi tujuannya mendekati sama) :
saya buat 2 file terpisah pertama halaman utama (halutama.php) yang satu lagi hasil pencarian (hasil.php)
file: halutama.php
<form action='cari-sepatu.php' Method='POST'>
<select name='merek_sepatu'>
<option value=0 >merek sepatu </option>
<option value= 0 > </option>
<option value='bata'>BATA </option>
<option value='pelagio'>PELAGIO</option>
</select>
<select name='harga_sepatu'>
<option selected value=0>harga sepatu</option>
<option value= 0 > </option>
<option value=1> < Rp 100.000</option>
<option value=2> Rp 100.000 - 200.000 </option>
<option value=3> Rp 200.000 - 300.000 </option>
<option value=6> > Rp 300.000 </option>
</select>
<input type='SUBMIT' value='CARI' name='PENCARIAN' >
dibagian hasilnya;
hasil.php
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("contoh_f3");
if (isset($_POST)) {
$merek_sepatu = $_POST;
$harga_sepatu = $_POST;
IF ($harga_sepatu = 1)
{
$harga = 'harga < 100000';
}
ELSEIF ($harga_sepatu = 2)
{
$harga = 'harga BETWEEN 100000 AND 200000';
}
ELSEIF ($harga_sepatu = 3)
{
$harga = 'harga BETWEEN 201000 AND 300000';
}
ELSE
{
$harga = 'harga > 301000';
}
$pencarian = mysql_query("select * from SEPATU WHERE merek ='$merek_sepatu' OR $harga ") or die(mysql_error());
while($data=mysql_fetch_array($pencarian)) {
echo $data '<br>' ;
echo '<B>'. $data .'</B> <hr>';
}
}
?>
PENJELASAN:
disini kita menggunakan BETWEEN maksudnya memberikan nilai antara, kenapa pada halutama.php kita memasukkan angka value=1 bukannya nilai misalnya : 100 000 karena untuk memanipulasi sql agar membaca angka dari value yang dipilih dengan menggunakan fungsi IF.
seperti :
IF ($harga_sepatu = 1)
{
$harga = 'harga < 100000';
}
disini $harga menyimpan string bukan angka (number) ke mysql sampai pada saat nanti dipilih sesuai keinginan Client.
$pencarian = mysql_query("select * from SEPATU WHERE merek ='$merek_sepatu' OR $harga ");
$harga di atas jangan ditambah dengan ' ' karena terjadi kesalahan baca.
kode diatas sebenarnya adalah uraian dari pilihan (eksekusi client)
jika dijabarkan pada saat client memilih pilihan value = 1 kategori harga_sepatu pada halutama.php
artinya:
$pencarian = mysql_query("select * from SEPATU WHERE merek ='$merek_sepatu' OR 'harga < 100000' ");
jika client memilih value = 2 pada kategori harga_sepatu pada halutama.php
$pencarian = mysql_query("select * from SEPATU WHERE merek ='$merek_sepatu' OR 'harga BETWEEN 100000 AND 200000' ");
semoga bermamfaat
look at us at:
rodabagus.com
cari jual motor, mobil kamu disini ya