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

标签 php jquery html jquery-chosen

我是学习网络开发的初学者。我目前正在尝试使用 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

$(".chosen-select").chosen({
    no_results_text: "Oops, nothing found!",
    width: "30%",
});


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

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

我想要的结果是;例如,当用户选择“舞蹈课”和“声乐课”时,它将给出输出 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 . "')";

关于php - 如何从选择的 Jquery 中提取数组输出中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920055/

相关文章:

ios - 移动浏览器时间输入在 vue 元素内不起作用

html - 响应式 div 和图像,其中图像具有不同的大小

php - 通过关系从 Laravel eloquent query 中获取 ID

php - 在 php 中用什么代替全局

php - PHP解析/语法错误;以及如何解决它们

javascript - 无需单击按钮即可计算值的总和

javascript - 在 javascript/jquery 中使用产品名称及其缩写的列表

php - 在此语句中添加 WHERE 子句

javascript - keypress() 函数在现实生活中有何应用

javascript - 如何使 meteor 简单模式中的字段等于 js 变量并仍然让用户填写简单模式的其余部分?