插入几个id后清除聊天

时间:2017-02-19 00:03:54

标签: timer chat

我做了一个简单的聊天,我想在共有5条消息(id' s)时进行聊天将启动计时器(5秒)并清除所有行。这就是我所做的。

我有这个来检查我们是否收到了5条消息(id' s)

if($handler->lastInsertId() == 5){
     clearchat_time();
}

我用了#34; lastInsertId()"因为我不知道如何调用函数来计算所有行,所以我使用这个来检查id。如果你知道如何做到这一点,这对我来说是更好的解决方案。

所以...会检查并调用它:

<script>
function clearchat_time(){
    setInterval(count_chat_time, 5000);
}
function count_chat_time(){
    $sql = "TRUNCATE TABLE chat";
    $query = $handler->prepare($sql);
    $query->execute();
}
</script>

1 个答案:

答案 0 :(得分:0)

您的问题没有定义PHP,JavaScript或SQL的版本 - 所以我假设P​​HP因为问题中的美元符号(第二部分中有一些JavaScript关注“&lt; script&gt;”标记示例)和MySQL,因为这在LAMP堆栈中最常见于PHP。

以这种方式使用SQL自动插入ID可能无法移植到其他SQL可能不值得信任,因为(given the various dialects of SQL)ID不能保证始终是顺序的,也不是最新的ID是最高的。另外,如果数据库&amp;表是由其他人设置的,你不能假设增量只有一个,或者从一(1)开始。

检查表中的实际总行数可能更安全,如下所示:

$result = mysql_query("SELECT count(*) as total from chat");
$data = mysql_fetch_assoc($result);
echo $data['total'];