我是新手,所以请善待:)
从mysql数据库检查,检索和使用新接收的数据的最简单的解决方案是什么?
正在从外部API更新数据库。理想情况下,我会在它到达时得到它,但使用间隔也可以工作。 如果同时没有新数据,则在第一次迭代然后每5分钟执行一次 - 使用数组的下一个条目执行操作,这可能导致数据在接下来的5分钟内更新。但我想确保在收到新数据后停止所有内容,并在php中执行一些操作。
什么是最简单的解决方案? php vs jquery / ajax?
我建议的解决方案是jquery:
<script>
var newdata = false;
if(newdata === false){
setTimeout (function(){
$.each(array, function(){
$.post('checkdb.php',data,function(resp){
if(resp){
newdata=resp;
return newdata;
}
else{
$.post('doaction.php',data);
// cause a potential update within the next 5 min
}
});
});
}, 300000);
}
else{
// move newdata back to php and (then) do something with response
}
</script>
谢谢! :)
答案 0 :(得分:1)
我的解决方案到底确实是在php而不是ajax(在这种情况下真的不需要客户端。)
以下是大纲:
<?php
while (something is true){
//do stuff
flush(); // execute the stuff you did until now
sleep(300); // wait 5 min
// now check database and retrieve new data, if any, and insert into $result
if (isset($result)){
//do stuff with the $result
break; // get out of the loop
}
}
?>
答案 1 :(得分:0)
请勿在客户端使用此类逻辑。 JavaScript可以很容易地操作/更改。有人可以用更短的间隔替换间隔并强调服务器。阅读Comet,将其用于等待服务器的结果。在服务器端执行所有逻辑:实现数据库轮询(根据需要使用间隔),并在需要时将数据推送到浏览器/停止轮询/执行任何操作。