doupu9251 2018-07-12 11:49
浏览 725

如何在sql中使用像LIKE IN这样的东西?

Here is my part of code

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>

in sql jenis stored like 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

if i click AA it will show data 1 as result.

if i click AA and BB it will show data 1, data 3, and data 5 as result.

if i click AA and BB and DD it will show data 1, data 2, data 3, data 4, and data 5 as result.

if i click EE data 3 and data 4 will show

My hope the output will be

$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis LIKE IN '.$jenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;

Thanks for helping

  • 写回答

1条回答 默认 最新

  • douganmo1121 2018-07-12 12:04
    关注

    Try this :

    $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;
    

    More info here about IN statement.

    Note: As @Twinfriends said, you should learn about SQL injection (security) before using this code for real in production.

    评论

报告相同问题?

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了