PHP和AJAX数据库连接

时间:2015-07-15 03:47:34

标签: php ajax

我的问题是每当我运行index.html文件时,ajax的结果太快而页面重新加载。因此,最后在DIV元素中没有显示输出。

Html Page(index.html)

 <!DOCTYPE HTML>
 <HEAD>
 <script src="ajax.js"></script>
 </HEAD>
 <BODY>

 <FORM onSubmit='sendEmpID(this.roll)' action='index.html'> 
 <input id='roll' type='text'>
 <button type="submit">Submit</button>
 </FORM>
 <P>
 <DIV id="emp"><B>Employee info will be listed here.</B></DIV>
 </P>
 </BODY>

 </HTML>

因此遵循ajax代码:

var xmlHttp;
function sendEmpID(str)
{ 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request")
        return;
    }
    var url="getemployee.php";
    url=url+"?q="+str;
    url=url+"&sid="+Math.random();
    xmlHttp.onreadystatechange=stateChanged; 
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null); }
function stateChanged() 
{ 
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    { 
        document.getElementById("emp").innerHTML=xmlHttp.responseText; 
    } 
}
function GetXmlHttpObject()
{
    var xmlHttp=null;
    xmlHttp=new XMLHttpRequest();
    return xmlHttp;

}

这是PHP部分(getemployee.php)

<html>
<head>

<?php
$q=$_GET["q"];
$con = mysql_connect('localhost', 'root');
if (!$con) 
{
    die('Not able to connect: ' . mysql_error());
}
mysql_select_db("emp", $con);
$query="SELECT * FROM ajax_example WHERE ID = '".$q."'";
$result = mysql_query($query);
echo "<table border='1'>
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
<th>WPM</th>
</tr>";

while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['age'] . "</td>";
    echo "<td>" . $row['sex'] . "</td>";
    echo "<td>" . $row['wpm'] . "</td>";
    echo "</tr>";
}
echo "</table>";

mysql_close($con);
?>
</head>
</html>

数据库内容:

ID  name    age sex     wpm
1   Frank   45  male    87
2   Jerry   23  male    20
3   Jill    22  female  72
4   Julie   35  female  90
5   Regis   75  male    44
6   Tracy   27  female  0

所以每当我运行index.html并在输入中插入1并按下提交。 没有结果显示。经过几次尝试后,我注意到桌子出现但是消失得太快了。 请告诉我是否在ajax代码中设置了计时器,或者我的代码中存在任何问题。

感谢。

0 个答案:

没有答案