PHPからのレコードフェッチでcometを実装したい
私のPHPは次のことを行います..ページ呼び出しでgetlog.php
$sql = "select log_description,log_time from log ORDER by log_time DESC";
$result=mysql_query($sql);
if($result == false)
{ die("unable to fetch records."); }
while ($row = mysql_fetch_assoc($result)) {
$result_output[] = $row;
}
$counter = 1;
foreach($result_output as $row)
{
echo $counter . ". " $row[log_description];
$counter++;
}
新しいログがある場合は、 viewlog.phpにエコーアウトしたいと思います。
したがって、viewlog.php では次のように表示されます。
1. Customer 1 logged in at 12:05.
たぶん5分後
1. Customer 2 logged in at 12:10
2. Customer 1 logged in at 12:05
最大で 15 レコードとしましょう。
データはPHPからフェッチされます。その方法は「comet」と呼ばれるものですが、データベースに追加された新しいレコードがあるかどうかを確認するために10秒ごとに自動更新する単純なデータベースフェッチが必要です。 div。
comet を使用せずに AJAX と PHP を使用してこれを達成する簡単な方法はありますか。
ご協力ありがとうございました。
次のコードを変更しましたか
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
show_log(){
var lnk = "fetchlog.php";
$.ajax({url:lnk,success:function(result){
$("#log_div").html(result);
}});
}
window.setInterval(function(){
show_log();
}, 10000);
</script>
</head>
<body>
<div id="log_div"></div>
</body>
</html>
私のコードは fetchlog.php からフェッチされないので何が問題なのですか?
fetchlog.php は次のようにエコーします
1. Acct_1 logged to the system.
2. Acct_3 logged in to the system.
3. Acct_2 logged in to the system.
4. Assign permissions on Acct_1.
5. Delete record on table building with id 80