php - 如何检查数据库中是否有添加的记录

标签 php mysql

我这里有我的index.php。它已经包含布局和其中的 php 代码。我只是想知道数据库中是否有新记录。根据我的研究,它需要更新。我尝试了 javascript 自动刷新,整个页面现在都会刷新,因此如果有新记录,表格将自动显示新记录。但现在我的问题是如何知道是否有变化。我可以通过刷新显示数据库是否有更新,但无法通知是否有更改。我只是想在有新记录时发出通知。所以现在我想知道如何检查数据库中是否有新记录。这是我的代码。

<div class="panel panel-default">
    <div class ="panel-body">


    <!-- TABLE OF REPORTS -->
    <div align = "center" style = " font-size: 9000px">
        <table class="table table-striped" name = "report">
            <thead>
                <tr align = "center"class = "active" >

                    <td class  = "theads" >Id</td>
                    <td class  = "theads" >Message</td>
                </tr>
            </thead>

            <!--Start of php code -->
            <?php   
            $page=1;//Default page
            $limit=10;//Records per page
            $start=0;//starts displaying records from 0
            if(isset($_GET['page']) && $_GET['page']!='')
            {
                $page=$_GET['page'];
            }
                $start=($page-1)*$limit;

                //Get total records (you can also use MySQL COUNT function to count records)
                $query=mysql_query("select report_id from reports");
                $rows=mysql_num_rows($query);

                $query=mysql_query("select * from reports order by datetime DESC LIMIT $start, $limit");


                if(mysql_num_rows($query)>0)
                {
                    while($row=mysql_fetch_array($query,1))
                    {
            ?>

            <tbody>
                <tr class = 'active'>
                <td align = 'center'><?php echo $row['report_id'] . "<br>";?></td>
                <td align = 'center'><?php echo $row['message'] . "<br>";?></td>
                </tr>
            </tbody>

                <?php
                    }
                }
            ?>
        </table>

    </div>

    </div>
</div>

最佳答案

如果您想在客户端执行此通知系统,那么您可以创建一个具有最新创建日期的 cookie,并检查是否有任何创建日期大于 cookie 的日期,然后计算日期大于 cookie 值的行。

如果您想在服务器端执行此操作,则必须将上次看到的创建日期保存在数据库表中的某个位置并执行上述过程。

$query=mysql_query("select * from reports order by datetime DESC LIMIT $start, $limit");
if(isset($_SESSION['chk']))
{
    $sql=mysql_query("select count(*) as new_record from reports where datetime>$_SESSION['chk']");
    $count=mysql_fetch_array($sql);
    $new_record=$count['new_record']; // new records
}

if(mysql_num_rows($query)>0){$i=0;
while($row=mysql_fetch_array($query,1)){if($i==0){$_SESSION['chk']=$row['datetime'];$i++;}
?>

关于php - 如何检查数据库中是否有添加的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832181/

相关文章:

php mysql : delete a special character from the database

php - laravel 5.4 中的三个加入和分组

php - PHP 应该生成什么来返回 jQuery AJAX 请求?

php - 在 PHP 中拆分嵌套括号的正确方法,例如 "root[one[a,b,c],two[d,e,f]]"到数组?

MySQL 命令历史

带有全文搜索通配符的 MySql MyIsam 表

php - 如何将动态构造的 ext/mysql 查询转换为 PDO 准备语句?

MySQL查询,其中一列行的结果与下一列相加

mysql 将日期从 mm-dd-yyyy 转换为 YYYY-MM-DD 格式

php - 从 Android 连接到 PHP 和 MySQL