SQL查询限制= 4给我16条记录而不是4条记录

时间:2014-07-08 18:28:43

标签: php mysql sql ajax

这个问题适用于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();

谢谢大家。

0 个答案:

没有答案