Form Pencarian

form pencarian saya terdiri dari 5 kolom, ketika saya hanya mencari tahun peraturan saja data tidak muncul tapi jika mencari nomor dan tahun bersamaan muncul datanya. intinya ketika saya mencari tanpa menggunakan nomor maka data tidak muncul jika menggunakan nomor maka muncul. gimana solusi nya mas?

 <?php
								include 'login/config/koneksi.php';
								//pencarian
								if(isset($_GET['cari']))
								{
									$kategori_peraturan = $_GET['kategori_peraturan'];
									$nomor_peraturan 	= $_GET['nomor_peraturan'];
									$status_peraturan 	= $_GET['status_peraturan'];
									$tahun_peraturan	= $_GET['tahun_peraturan'];
									$kata				= $_GET['kata'];

									$result	= mysql_query("select * from pusat_data where
											kategori_peraturan like '%".$kategori_peraturan."%'
											and status_peraturan like '%".$status_peraturan."%'
											and nomor_peraturan like '".$nomor_peraturan."%'
											and tahun_peraturan like '%".$tahun_peraturan."%'
											and judul_peraturan like '%".$kata."%' ORDER BY id_peraturan DESC
											");
								}
								else
								{
									$result = mysql_query("select * from pusat_data ORDER BY id_peraturan DESC");
								}

							?>
avatar Ikwan
@Ikwan

18 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

7 Jawaban:

Nomor peraturan kurang % di awal

avatar apem
@apem

72 Kontribusi 27 Poin

Dipost 6 tahun yang lalu

klo ditambah % waktu mencari nomor 1 malahan yang muncul tidak nomor 1 saja seperti 1, 10, 11 dan seterusnya

avatar Ikwan
@Ikwan

18 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

coba dibuat gini gan, jadi wherenya hanya yang terisi saja

 $add = "";
if ($kategori_peraturan)
	$add = $add . " and kategori_peraturan like '%".$kategori_peraturan."%' ";
if ($status_peraturan)
	$add = $add . " and status_peraturan like '%".$status_peraturan."%' ";
if($nomor_peraturan)
	$add = $add . " and nomor_peraturan like '".$nomor_peraturan."%' ";
if($tahun_peraturan)
	$add = $add . " and tahun_peraturan like '%".$tahun_peraturan."%' ";
if($kata)
	$add = $add . " and judul_peraturan like '%".$kata."%' ";

$q	= "select * from pusat_data where (1=1) ".$add." ORDER BY id_peraturan DESC";
$result = mysql_query($q);
avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

berhasil mas, Terima kasih mas

avatar Ikwan
@Ikwan

18 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

kalau boleh atau fungsi where ny itu buat apa ya mas

avatar Ikwan
@Ikwan

18 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

kalau boleh tau fungsi where ny itu buat apa ya mas

avatar Ikwan
@Ikwan

18 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

where (1=1) ? cek disini https://stackoverflow.com/questions/8149142/where-1-1-statement semoga membantu

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban