我的数据库中有两个表,第一个是id,另一个是文本。
我可以像这样从db获取数据
这是index.php文件
void complement(unsigned char *c, int n){
while(*c!='\0'){
printf("%d\n", n-(*c));
c++;
}
}
如果插入了新项目,我需要每五秒检查一次数据库。 我在下面使用这个代码。但它不起作用。我不知道出了什么问题?能否提前帮助并提前感谢
ajax.js文件
<?php include "config.php"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<ul>
<?php
$result = $db->query("select * from veri ORDER BY id DESC ");
while ($row = $result->fetch_object()) {
echo '<li id="'.$row->id.'">'.$row->text.'</li>';
}
?>
</ul>
</body>
</html>
这个ajax.php文件
$(function () {
$ajaxLoad = function () {
var lastid = $("ul li:first").attr("id");
$.ajax({
type: "post",
url: "ajax.php",
data: {"lastid": lastid},
dataType: "json",
success: function (result) {
if (result.error) {
$("#result").html(result);
}
else{
$("ul").prepend(result.data);
}
}
});
}
setInterval("ajaxLoad()",5000);
});
答案 0 :(得分:1)
您的linear layout
接受回调函数作为第一个参数。你传了一个字符串。它应该是:
setInverval()
另外,从setInterval(ajaxLoad, 5000);
定义中删除$
。它是JavaScript,而不是PHP。如果您希望将$ajaxLoad
添加到变量之前,还必须使用该变量以及$
,如下所示:
$
然而,这绝对是糟糕的做法,因为您会对使用PHP或JS感到困惑。
这里你也犯了一个错误。根据当前代码,您可能只获取插入的最后一条记录而不是所有新插入的记录,因为您没有连接记录。这是解决它的一种方法:
$variable = 5;
console.log($variable); // prints 5 to the console