从多选框中查找数据库中的项目

时间:2015-02-26 19:40:52

标签: javascript php sql ajax

我有一个多选框,onchange运行一个函数,收集选定的选项,将它们变成一个数组,然后使用AJAX将它们发送到我的php文件。然后我希望php文件在sql WHERE字段中添加每个选项,以便它返回包含任何选项的结果。

有人可以就如何做到这一点给我建议吗?

我的代码如下:

HTML文件选择框

<select name="gift" id="gift" class="multiple-select" multiple="multiple" onchange="change()">
       <option value=""></option>
       <option value="him">Him</option>
       <option value="her">Her</option>
       <option value="kids">Kids</option></select>

JAVASCRIPT FILE

function change()
{

var giftarray = new Array();
$('#gift > option:selected').each(
 function(i){
     giftarray[i] = $(this).text();
 });


if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
 }
else
{// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("product").innerHTML=xmlhttp.responseText;
}
}

var url="results.php"
url=url+"&gift="+gift;


xmlhttp.open("GET",url,true);
xmlhttp.send();
}

PHP文件:

include 'dblogin.php'; 

$gift = $_GET["gift"];
$gift=str_replace("\\","",$gift);



$where = "WHERE gift IN $gift";


$sql= "SELECT * 
FROM $itemstable 
$where";  


$result = mysql_query($sql) or die ('Unable to run query:'.mysql_error());

            while($item = mysql_fetch_array($result))
{ 
DISPLAY ALL ITEMS IF SELECT BOX BLANK OR JUST ITEMS THAT MATCH SELECTED   OPTIONS
}


                    mysql_close();

                    ?>  

任何帮助都将受到赞赏,因为我已经花了很多年没有运气。 提前致谢

0 个答案:

没有答案