0
我修改了代码在这里(http://www.w3schools.com/PHP/php_ajax_database.asp)更新和显示我的数据库后,输入框键入并单击按钮提交。 我Ajax更新数据库后提交
<form method="post" action="process.php" id="processer" onsubmit="showUser('me');">
<label for="Process">Process</label><input type="text" name="process" id="process">
<input type="submit" value="Process">
</form>
我的Ajax代码发送:
xmlhttp.open("GET","getuser.php?q="+str+"&t=" + Math.random(),true);
xmlhttp.send();
最后我getuser.php是
<?php
$q=$_GET["q"];
$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("short", $con);
$sql="SELECT * FROM table WHERE creator = '$q'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>id</th>
<th>data</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['data'] . "</td>
</tr>";
}
echo "</table>";
mysql_close($con);
?>
的问题是,当我点击提交,有时1次刷新,有时会刷新2次,其他则根本没有。假设我正在提交数字1到10,第一次通过我看到1,2,然后输入3后,我什么都看不到,然后突然3,4,然后什么也没有5(当我刚刚输入6) ,然后是6,然后是7,8.
我的php显示数据是否被缓存?或者我怎样才能使清爽流畅和一致?
在此先感谢。
您的示例代码易受SQL漏洞攻击。 (就像w3schools上的所有例子一样,你会在其他地方找到更好的AJAX介绍)。 - 我不知道1,2,3,4是什么意思,但是不要用繁琐的手动xmlhttprequest设置,而是使用jQuery来更可靠地处理潜在的缓存问题。 – mario 2011-05-24 21:27:08
非常感谢您,事实证明我在将数据存储到数据库之前太快地调用了数据 – 2011-05-24 21:36:39