我有一个多选框,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();
?>
任何帮助都将受到赞赏,因为我已经花了很多年没有运气。 提前致谢