使用php和jquery将值从多选列表发布到mysql查询

时间:2011-10-19 02:23:05

标签: php jquery mysql post multi-select

嗨,大家好我试图发布值,这是从另一个文本框获取MySQL选择查询的数字,但我卡住了请你帮我这里是我的代码,当我试图得到结果我不能添加逗号(,)之间值。还试过implode()和explode()函数,但结果只得到数组元素请帮帮我。我很乐意尝试你的想法谢谢。 在我的SQL查询中,我只得到一行,这是我的第一个选择 非常感谢你们的帮助

function exportselectionlist(){
var qcolumns=document.getElementById('selectionlist');
for (i=0; i < qcolumns.length; i++) {
qcolumns.options[i].selected = true;
}
document.selectionlist_form.submit();
}

<form id="selectionlist_form"  action="xxx.php" method="post"
 name="selectionlist_form">                         

    <select id="selectionlist"  style="width:300px;" multiple="multiple" size="4" 
name="selectionlist[]"> 
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
<input type="submit" value="x" />
<a onclick="exportselectionlist()" href="javascript:;">Export</a>
</form>

// xxx.php

    <?php   foreach ($selectionlist as $value) {

    $resultstr = array();
foreach ($selectionlist as $result)
  $resultstr[] = $result;

echo $x=implode(",",$resultstr);

sql = mysql_query("SELECT * FROM table where idArticle in ('$x')"); 

1 个答案:

答案 0 :(得分:0)

尝试将您的js功能更改为:

function exportselectionlist() {
    var qcolumns = document.getElementById('selectionlist');
    for (i=0; i < qcolumns.length; i++) {
        qcolumns.options[i].selected = true;
    }
    document.selectionlist_form.submit();
}

然后将您的“xxx.php”改为:

    $selectionlist = $_POST['selectionlist'];
    echo implode(',', $selectionlist);

作为旁注,您的PHP代码向我表明您已打开register_globals?我建议将其关闭,以支持从$ _POST超全局创建所需的变量。