我如何使用作为ajax响应返回的字符串来分配给php变量

时间:2013-05-14 17:54:22

标签: php sql ajax

我从下拉菜单中选择一个选项(id =“field”),并根据此值我希望生成另一个下拉菜单,我使用ajax来检索field1输入的值。功能是:

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

  XMLHttp.open("POST","SORS/sendegree.php?degree="+degree,true);
  XMLHttp.onreadystatechange = function(){

  if (XMLHttp.readyState==4 && XMLHttp.status == 200)
  {
      document.getElementById('br').innerHTML=XMLHttp.responseText; 
  }  
 }
 XMLHttp.send(null); 
}  
sendegree.php文件中的

代码只是

<?php echo $_REQUEST['degree'];
?>

现在我尝试使用statement:

将ajax代码返回的字符串接收到php变量中
<?php
  $state="<span id=\"br\"></span>"; 
  echo $state;
?>

现在问题是,echo的第一个语句工作正常,但是我无法在sql查询中使用$ state作为变量,如下所示

$get_cty=mysql_query("SELECT * FROM abc WHERE city='$state'")or die(mysql_error()); 

1 个答案:

答案 0 :(得分:-2)

您需要连接变量

试试这个

$get_cty=mysql_query("SELECT * FROM abc WHERE city='".$state."'") or die(mysql_error());

我是如何在大学里学到的,只要你在查询中需要一个变量值,你就可以在等号之后添加'".."'然后将变量放在中间。

希望有所帮助。