0

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

jsフィドル

4

1 に答える 1