通过ajax与数据库通信

时间:2014-02-22 12:43:32

标签: php mysql ajax

我有从数据库中提取的以下一组表行

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

这实际上是一组框,$ 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>

等着你帮助大家!!

1 个答案:

答案 0 :(得分:0)

首先,我建议您使用javascript库以使用Ajax,并避免尝试自行修复兼容性问题。例如,您可以使用jquery.com,现在它非常标准。

对于问题部分,请查看您的回信代码,在addValue(this.value)中出现错误;&#39;

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

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

或更好的回声你可以直接将值传递给addValue函数,例如:

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