Php 通过ajax与数据库通信

Php 通过ajax与数据库通信,php,mysql,ajax,Php,Mysql,Ajax,我从数据库中获取了以下一组表行 echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "' onclick = 'addValue(this.value);'>$id</td>"; echo“$id”; 这实际上是一组框,$id=$row['id']是附加到每个框的数字。我想要这样的机制,比如当用户点击框时,附在框上的数字应该在网页上的某个特定位置回响。

我从数据库中获取了以下一组表行

    echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "'  onclick = 'addValue(this.value);'>$id</td>";
echo“$id”;
这实际上是一组框,$id=$row['id']是附加到每个框的数字。我想要这样的机制,比如当用户点击框时,附在框上的数字应该在网页上的某个特定位置回响。MySql查询和其他一切都很好,我认为ajax代码理解有问题

    <script>
    function valueAdd(str)
    {
    if (str=="")
      {
      document.getElementById("seats").innerHTML="";
      return;
      }
    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("seats").innerHTML=xmlhttp.responseText;
        }
       }
     xmlhttp.open("GET","ceckbus.php?q="+str,true);
     xmlhttp.send();
    }
    </script>

函数值添加(str)
{
如果(str==“”)
{
document.getElementById(“seats”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“seats”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“ceckbus.php?q=“+str,true”);
xmlhttp.send();
}

等待你的帮助,每个人

首先,我建议您使用javascript库来使用Ajax,避免试图自行修复兼容性问题。例如,你可以使用,它现在相当标准

对于问题部分,请查看您的回显代码,在“addValue(this.value);”处有一个错误

我可以理解这个问题,您希望单击事件具有$id。一个简单的修复方法是使用innerHTML属性,而不是on。value:

 echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "'  onclick = 'addValue(this.innerHTML);'>$id</td>";
echo“$id”;
或者,在echo上,您可以将值直接传递给addValue函数,例如:

echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "'  onclick = 'addValue(\"" . $id . "\");'>$id</td>";
echo“$id”;

您是否调试了输出以查看您得到了什么?使用google chrome中的开发者工具帮助您找出问题所在。您可以使用jquery get,这将减少您的代码行。。