这个问题适用于PHP,MySQL查询和被调用的AJAX程序,使用MySQL查询显示4条记录的LIMIT。相反,它显示16个recods。
主程序是PHP。 它从Javascript调用AJAX(使用Javascript定时器循环每120秒调用一次)。
我在AJAX程序中有一个MySQL查询(也用PHP编写)。 这应该将输出限制为4条记录(表格中大约有80条)。
$sql="SELECT * FROM chat order by chat_RecordId desc limit 4";
$result = mysql_query($sql);
$num=mysql_numrows($result);
接下来是AJAX程序中的一个PHP循环,它循环遍历找到的表记录。
$i=0;
while ($i < $num) {
...code to print one record eg...
echo mysql_result($result,$i,"chat_RecordId") ;
$i++;
}
$ num是4.已验证。 循环可以执行4次。验证。
但是我的屏幕上总共只显示4条记录(输出位于主程序中DIV内的TEXTAREA中),它显示16条记录= 4 x 4,这是不正确的。
实际上,每组4条记录再次重复3次,同时显示相同的4条记录。
我看不出显示16条记录的原因而只显示4条记录。
我应该指出正在执行的程序是一个AJAX程序。 并且,AJAX由PHP程序内的Javascript函数调用,JS在计时器上运行,并使用Javascript表单每120秒调用一次AJAX。 这是为了自动刷新网站的新帖子。 顺便说一句,对AJAX的调用使用:
调用AJAX的代码(不是整个代码,而是关键行)
var xmlhttp ;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtChat").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.send();
谢谢大家。