0

我从 youtube.com 找到了使用 ajax 的基本 php 实时搜索之一,请参阅示例

http://www.youtube.com/watch?v=3fS4Ys_ZEKw 该视频说不同的语言,但我管理器键入您从 youtube.com 看到的所有代码,但不同的是数据库名称和表名称,但是,当我运行时没有显示任何从 mysql 数据库带来的内容,即使按下任何键仍然没有显示任何内容,甚至没有错误。与您在 youtube 上看到的相比,您能看看我是否错过了此代码中的任何内容!

搜索.php

<body>
<form name"form1" action="" method="post">
Enter name<input type="text" name="t1" onKeyUp="aa();"/><br />
<div id="dl"></div>
</form>

<script type="text/javascript">
function aa()
{
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","sea.php?nm="+document.forml.t1.value,false);    
xmlhttp.send(null);
document.getElementById("dl").innerHTML=xmlhttp.responseText;

}

</script>

</body>
</html>

海.php

<?php 

$nm=$_GET("nm");

$mysqli = new mysqli("localhost", "root", "password", "table");

// Check connection
if (mysqli_connect_errno($mysqli))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }


if ($result = $mysqli->query("select * FROM product WHERE product_name like('$nm%')")) 
echo"<table>";

    {
echo "<tr>";
echo "<td>";?><img src="../<?php echo $row["screenshot"];?>" height="100" width="100" <?php echo "</td>" ; 
echo "<td>"; echo $row["product_name"]; echo "</td>";
echo "<tr>";    

}
echo "</table>";
?>
4

1 回答 1

0

你需要得到回应onreadystatechange,做:

xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) { //4:: request finished and response is ready
        document.getElementById("dl").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET","sea.php?nm="+document.forml.t1.value);    
xmlhttp.send(null);
于 2013-10-22T03:17:11.973 回答