2017-02-19 1 views
-1

私は単純なチャットを行い、合計5個のメッセージ(ID)がある場合にチャットがタイマー(5秒)を開始し、すべての行をクリアします。これは私が作ったものです。少数のIDが挿入された後にチャットをクリアします

私たちは5つのメッセージ(idを)

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

に達した場合、私はすべての行をカウントする関数を呼び出す方法がわからないので、私が使用しているため、私は「における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> 

答えて

0

をあなたの質問は、PHP、JavaScriptやSQLのバージョンを定義していない - ので、私が原因でドル記号のPHPを想定していますPHPのLAMPスタックで最も一般的なので、この例の2番目の部分では "<スクリプト>"というタグが付いています)。

この中にSQLの自動挿入IDを使用する(given the various dialects of SQL)IDがguaraではないので信頼できない可能性がありますいつも逐次的であることも、最新のものが最高であることもありません。さらに、データベース&テーブルが他の人によって設定されている場合、増分が1だけであると仮定することも、1から始まることも想定できません。

以下のように、テーブル内の行の実際の合計数を確認することはおそらく安全です:

$result = mysql_query("SELECT count(*) as total from chat"); 
$data = mysql_fetch_assoc($result); 
echo $data['total']; 
関連する問題