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

How to extract the multiple values in the array output from Jquery chosen

我是学习网络开发的初学者。我目前正在尝试使用 Chosen Jquery 插件进行 Multi-select 下拉菜单。

下拉列表是从数据库查询的


下面是我到目前为止完成的代码。

查询来自 SQL

的数据
$LOH_STATEMENT = "SELECT * FROM tableA";
 $result = ociparse($live, $LOH_STATEMENT);
 ociexecute($result);

多select下拉列表。

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

根据select下拉列表

中的数据查询table
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

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

我想要的结果是;例如,当用户 select "dance class " 和 "vocal class" 时,它将给出输出 SELECT * FROM tableA WHERE program = 'dance class, vocal class'

这可能吗?或者还有其他替代方法或更简单的方法吗?

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

由于 $_POST['program'] 是一个数组,您需要 implode() 它并更改您的查询以使用 IN 而不是 =:

改变

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

$imploded = implode("','", $_POST['program']);
$query = $LOH_STATEMENT . " WHERE program IN ('" . $imploded . "')";