猿问

如何从所选的 Jquery 中提取数组输出中的多个值

我是学习Web开发的初学者。我目前正在尝试使用 Chosen Jquery 插件进行多选下拉菜单。


下拉列表是从数据库查询


以下是我到目前为止所做的代码。


从 SQL 查询数据


$LOH_STATEMENT = "SELECT * FROM tableA";

 $result = ociparse($live, $LOH_STATEMENT);

 ociexecute($result);

多选下拉菜单。


<center>Program Name

<select data-placeholder="Select" multiple class="chosen-select" tabindex="17" name="program[]">

<option value="" ></option>


<?php   

     for($i=0; $i<count($result;$i++){

       while ($row = oci_fetch_assoc($result)){

       echo '<option value="'.$row['PROGRAM'].'">'.$row['PROGRAM'].'</option>';

       }

     }      

?>          

</select>

根据从下拉列表中选择的数据查询表


if(! empty($_POST['program'])) {


                $i = 0;

                $selectedOptionCount_PROGRAM = count($_POST['program']);

                $selectedOption_PROGRAM = "";

                while ($i < $selectedOptionCount_PROGRAM) {

                    $selectedOption_PROGRAM = $selectedOption_PROGRAM . "'" . $_POST['program'][$i] . "'";

                    if ($i < $selectedOptionCount_PROGRAM - 1) {

                        $selectedOption_PROGRAM = $selectedOption_PROGRAM . ", ";

                    }

                    $i ++;

                }

                }                   

                $query = $LOH_STATEMENT . " WHERE program = ('" . $_POST['program'] . "') ";        

                }

                echo $query;

Jquery-选择


$(".chosen-select").chosen({

    no_results_text: "Oops, nothing found!",

    width: "30%",

});

我从下拉列表中得到的结果是一个数组,我的问题是如何从数组中提取值,以便我可以将它们放入数据库 https://photos.app.goo.gl/hm5wdunufps9o2Gy7


(如果链接不起作用 - 当 I 时echo $query,它会显示; SELECT * FROM tableA  WHERE program = 'Array')


我想要的结果是;例如,当用户选择“舞蹈课”和“声乐课”时,它会给出输出SELECT * FROM tableA  WHERE program = 'dance class, vocal class'


这可能吗?还是有其他替代或更简单的方法来做到这一点?


~ 抱歉这个问题太长了。我不知道如何总结它。下次会做得更好。谢谢你:)~


萧十郎
浏览 161回答 1
1回答

慕容3067478

由于$_POST['program']是一个数组,您需要对其进行implode()并将查询更改为使用IN而不是=:改变$query = $LOH_STATEMENT . " WHERE program = ('" . $_POST['program'] . "') ";到$imploded = implode("','", $_POST['program']);$query = $LOH_STATEMENT . " WHERE program IN ('" . $imploded . "')";
随时随地看视频慕课网APP
我要回答