如何使用ajax将变量发送到php?

时间:2012-09-08 15:17:55

标签: php ajax variables

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <script type="text/javascript">
    function load(thediv, thefile)
    {
        if (window.XMLHttpRequest)
        {
        xmlhttp = new XMLHttpRequest(); 
        }
            else
            {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP)');  
            }

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

                xmlhttp.open('GET', thefile, true);
                xmlhttp.send();

    }
    </script>
</head>

    <body>

<?php 

//connection to db and mysql query


    $result = mysql_query($query) or die(mysql_error());

$options=""; 

while ($row=mysql_fetch_array($result)) { 

$id=$row["idProducts"]; 
$thing=$row["country"]; 
$options.="<OPTION VALUE=\"$id\">".$thing.'</option>'; 
}
mysql_close();
?> 


<SELECT id="countrySearch" NAME=countrySearch onchange="load('divtest',   'step2.search.php')";>
<OPTION VALUE=0>Choose 
<?=$options?> 
</SELECT> 

<div id="divtest">
test
</div>

</body>

step2.search.php包含:

<?php
echo "I want it to store the users selection as a variable for php to use";
?>

我遇到的问题是我想存储用户从下拉框中选择的内容,并在php中使用它来使用用户选择表单中的变量进行mysql查询,以形成mysql语句的WHERE部分。然后使用ajax将新数据放入“divtest”。

如何将用户选择存储到变量中然后发送它以在step2.search.php中使用?

1 个答案:

答案 0 :(得分:0)

See Code Below

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <script type="text/javascript">
    function load(thediv, thefile,selectvalue)
    {
        if (window.XMLHttpRequest)
        {
        xmlhttp = new XMLHttpRequest(); 
        }
            else
            {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP)');  
            }

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


                xmlhttp.open("GET",thefile+"?q="+selectvalue,true);
                xmlhttp.send();

    }
    </script>
</head>

    <body>
    <form>

<?php 

//connection to db and mysql query


    $result = mysql_query($query) or die(mysql_error());

$options=""; 

while ($row=mysql_fetch_array($result)) { 

$id=$row["idProducts"]; 
$thing=$row["country"]; 
$options.="<OPTION VALUE=\"$id\">".$thing.'</option>'; 
}
mysql_close();
?> 


<SELECT id="countrySearch" NAME=countrySearch onchange="load('divtest',   'step2.search.php', this.value)";>
<OPTION VALUE=0>Choose 
<?=$options?> 
</SELECT> 

<div id="divtest">
test
</div>
</form>

step2.search.php

<?php
    Simple grab this variable
    $id = $_GET['q'];

    //do your query stuffhere
?>