我使用youtube.com上的ajax发现了一个基本的php实时搜索,请参阅
中的示例http://www.youtube.com/watch?v=3fS4Ys_ZEKw该视频说不同的语言,但我经理要输入与youtube.com完全相同的所有代码,但不同的是数据库名称和表名,但是,当我运行时没有显示任何内容从mysql数据库带来即使按任何键仍然没有显示任何东西,甚至没有错误。你能看到我错过了这个代码的任何内容,而不是你从youtube上看到的内容!
的search.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>
sea.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>";
?>
答案 0 :(得分: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);