Sql Php Ajax - 检查数据库中是否有变化

时间:2017-02-24 15:16:36

标签: javascript php jquery ajax

我目前有一个ajax脚本来运行一个每5秒运行一次的notiload.php文件来检查数据库中是否有更改,如果有更改则输出" 1新"一条消息。但是,我将在该文件中引入通知声音。加载文件时,它会每5秒钟响一次。当然这会让人们生气。所以我需要脚本来检查数据库中是否有变化。我有每条消息的时间和日期标记,消息被视为2而不是1.因此,如果数据库发生变化,我将需要它来调用该文件或播放声音。

这是我在主页面中的ajax脚本



	<script type="text/javascript">
    $(document).ready(function(){
      refreshTable<?= $FriendName->id ?>();
    });

    function refreshTable<?= $FriendName->id ?>(){
        $('#NotiLoad<?=$FriendName->id?>').load('elements/notiload.php?id=<?=$FriendName->id?>', function(){
           setTimeout(refreshTable<?= $FriendName->id ?>, 5000);
        });
    }
</script>
&#13;
		<div id="NotiLoad<?= $FriendName->id ?>" style="display: inline-block;"></div>
&#13;
&#13;
&#13;

这是notiload.php的php

&#13;
&#13;
<?php
    session_start();

    // redirect to index page if not superuser  
    $con = mysqli_connect('localhost','root','','');  
    if (!$con) {  
        die('Could not connect to Socialnetwk DB: ' . mysqli_error($con));  
    }
    mysqli_select_db($con,"ajax_demo");
?>
<?php
    $uid = $_GET['id'];
    $mid = $_SESSION['user']['id'];
?>
<?php $usrload = $con->query("SELECT * FROM message WHERE sender = $uid AND recipient = $mid AND seen = '2' OR sender = $mid AND recipient = $uid AND seen = '2'"); ?>
<?php while($FriendName = $usrload->fetch_object()): ?>
    <h6 style="display:inline-block;font-size: 10px;color:#37BC9B">1 New</h6>
<?php endwhile;?>
&#13;
&#13;
&#13;

0 个答案:

没有答案