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

I have a multiple select box which onchange runs a function that collects the selected options, turns them into an array, and then sends them using AJAX to my php file. I then would like the php file to add each option in the sql WHERE field so that it returns results with any of the options in.

Can anyone please give me advice on how to do this?

My code is as follows:

HTML FILE SELECT BOX

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

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();

                    ?>  

Any help will be appreciated as i've spent ages on this with no luck. Thanks in advance