-2

新しいデータをチェックし続け、データベースに新しいデータが見つかった場合に追加するために ajax 時間関数を使用しています。

PHP関数(load.php)

 $tocom=$_POST['tocom'];
    $sql=mysqli_query($db3->connection,"SELECT * FROM chat_com where to='$tocom'  ORDER by time DESC");
    while($row=mysqli_fetch_array($sql)){

        $tocomr=$row['tocom'];
        $text=$row['text'];
        echo $text;

    }

Ajax関数はこちらです。

function chat_com_one(id, name) {
$('#chatcom').show('fast');
(function chatcom_load_one(id, name) {
    $.post('load.php', {tocom:id}, function(data) {
        $('#chat_win').append(data);
        setTimeout(chatcom_load_one(id, name), 500);
    });
}(id, name));

}

4

3 に答える 3

0

if()要素がまだ追加されていないかどうかを確認するものが表示されない場合はWHERE、クエリからの結果を制限する句を使用してください。または、古いコンテンツを削除して、追加する代わりに新しいコンテンツ全体を配置するだけです (ただし、これは効果的ではありません)。

于 2012-11-29T19:54:08.147 に答える
0

SQL ステートメントを変更するか、追加を行わずに div 全体を書き直す必要があります。

于 2012-11-29T19:54:17.090 に答える
0

で変更setTimeoutしてsetInterval 、変更を確認します。

function chat_com_one(id, name) {
 $('#chatcom').show('fast');
 (function chatcom_load_one(id, name) {
  $.post('load.php', {tocom:id}, function(data) {
     $('#chat_win').append(data);
     setInterval(chatcom_load_one(id, name), 500);
  });
}(id, name));

幸運を

于 2012-11-30T08:31:30.370 に答える