2016-11-12 10 views
0

mysqlテーブルのレコードの合計数の変更に基づいてスクリプトを実行するにはどうすればよいですか? div1はテーブルのレコードの量をちょうどいいものにします。 .load ajaxリクエストを使用すると、divは常に0,5秒ごとに更新されるので、ほとんどリアルタイムに記録されているレコードの数が常にわかります。ここでMysqlレコード数の変更に基づいてスクリプトを実行

<div class="div1"> 
      <?php $row_cnt = mysqli_num_rows($result); 
      echo "table has $row_cnt records" ; ?>     
</div> 

<script> 
    function refreshdiv(){ 
     $('.div1').load('backendform.php',function() { 
      $(this).unwrap(); 
     }); 
    } 
    refreshdiv(); 
    setInterval(function(){ 
     refreshdiv(); 
    }, 500); 
</script> 

私は(、または第二の問題ではありません)カウントが最後の分以内に変更されたとき、JS関数を呼び出す方法を把握しようとしています。たとえば$ row_cntが5から6に変更された場合、この文の実行をどのようにトリガしますか?レコードが最後の数秒以内にMySQLのテーブルに追加されている場合は、私が言うことができるならば、私も仕事ができるものとし

<?php 
//if record was added in last minute 
if($row_cnt...) 
echo '<script type="text/javascript">', 
    'notification();', 
    '</script>' 
;?> 
<script> 

です。各レコードにはタイムスタンプがあります。しかし、私はそれについて似たような質問が見つからなかったので、これができるかどうか分からない。

+0

mysql-triggers/working-mysql-scheduled-event /またはトリガ。 – Shridhar

+0

javascriptの仕事は間違いありません。おそらくPHP Webページの仕事ではありません。より良いオプションはmysqlイベントとcronジョブです – e4c5

答えて

0

あなたはsetIntervalnotification機能を置く#div1

<?php $row_cnt = mysqli_num_rows($result); ?> 
<div class="div1" data-row="<?php echo $row_cnt ?>"> 
    <?php echo "table has $row_cnt records"; ?> 
</div> 

data-row等のデータを設定し、比較すること#div1data-rowを使用することができます:あなたはhttp://www.mysqltutorial.org/ためmaylooking

<script> 
    function refreshdiv() { 
     $('.div1').load('backendform.php', function() { 
      $(this).unwrap(); 
     }); 
    } 
    refreshdiv(); 
    function notification() { 
     var row = $('.div1').attr('data-row'); 
     if (row == 2) { 
      //do something 
     } 
     else{ 
      //do something 
     } 
    } 
    setInterval(function() { 
     refreshdiv(); 
     notification(); 
    }, 500); 
</script> 
+0

行が特定の番号と同じ場合にスクリプトを実行します。たとえば、行数が5の場合、if文は '(row == 5) 'のときに実行されますが、行番号が変更された場合、どの数字に関係なくif文を実行するにはどうすればよいですか? – TheNuttyStudent

+0

行の最初の値を変数に格納して比較することができます –

+1

これを考慮に入れて質問を編集できますか?なぜ私のために働いていないのかわからないからです。また、行数が特定の数値と同じ場合でもコードは機能しますが、行数を特定の数値に減らすためにテーブル内のレコードを削除すると、ページがリロードされたときにのみ警告が表示されます。その前に既にリフレッシュされており、正しい行数を出力します。 – TheNuttyStudent

関連する問題