这是我的一部分代码
if (!isset($_GET['jenis'])) {
$jenis = [] ;
} else {
$jenis = $_GET['jenis'];
}
$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;
<h3 class="sidebar-title">jenis</h3>
<div class="sidebar-list">
<ul>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="21" <?php if (in_array("21",$jenis)) { echo "checked"; } ?> > <a> Khusus Pria </a> </li>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="22" <?php if (in_array("22",$jenis)) { echo "checked"; } ?> > <a> Khusus Wanita </a> </li>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="23" <?php if (in_array("23",$jenis)) { echo "checked"; } ?> > <a> Campuran </a> </li>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="24" <?php if (in_array("24",$jenis)) { echo "checked"; } ?> > <a> 2 Lantai </a> </li>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="25" <?php if (in_array("25",$jenis)) { echo "checked"; } ?> > <a> 3 Lantai </a> </li>
<li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="26" <?php if (in_array("26",$jenis)) { echo "checked"; } ?> > <a> 4 Lantai atau Lebih </a> </li>
</ul>
</div>
在sql jenis中的存储方式如下 AA,BB,CC,DD,EE,FF
example :
data 1= AA,BB
data 2= CC,DD
data 3= AA,DD,EE,FF
data 4= DD,EE,FF
data 5= BB,FF
如果我单击AA,它将显示数据1作为结果。
如果我单击AA和BB,它将显示数据1,数据3和数据5。
如果我单击AA,BB和DD,它将显示数据1,数据2,数据3,数据4和数据5。
如果我单击EE数据3,则将显示数据4
我希望输出是
$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis LIKE IN '.$jenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;
感谢您的帮助
答案 0 :(得分:0)
尝试一下:
$sqlJenis = "('" . implode("','", $jenis) . "')";
$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis IN '.$sqlJenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;
有关IN语句的更多信息here。
注意:正如@Twinfriends所说,在将此代码用于实际生产之前,您应该了解SQL注入(安全性)。