新しいデータがあるかどうかを確認するために、外部サーバーからデータベースを10秒ごとにチェックするアプリケーションを作成する必要があります。現時点では、データが2つのJSON(古いJSONとサーバーからフェッチされたもの)を比較してサーバーを変更したかどうかをチェックし、アラートユーザーがあるかどうかを確認するjavascriptがあります。しかし、それは私がこのアプリケーションで必要なものではありません。データが変更されたときではなく、新しいデータの場合にのみ警告を発する必要があります。mysqlに新しいデータがあるか確認する方法
MYSQLをクエリするPHPコードでこれを行うことができ、num_resultsが0より大きいクエリnum_resultsが0より大きい(ユーザーが通知を受け取るまで)場合は、このアプリケーションでは、ユーザーが新しいデータを入手できるかぎり、新しいデータが0.1秒または10秒でユーザーに利用可能かどうかは関係ありません。これは私がMYSQLチェックを実行しようとしました方法ですが、それが動作していません。
<?php
include 'config.php';
if(isset($_GET['ID'])) {
$maxLoop = 20;
while($maxLoop--) {
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$sth = $dbh->prepare('select * from testit where id = :id');
$sth->bindParam(':id',$_GET['ID'],PDO::PARAM_INT);
$sth->execute();
if($sth->rowCount()>0) {
$results = $sth->fetchAll(PDO::FETCH_OBJ);
echo '{"key":'. json_encode($results) .'}';
exit; // Found new data, end loop and script
}
} catch(PDOException $e) {
break;
}
sleep(3);
} // end while
} // end if
それでは、どのように私はそれを動作させるために、このコードを変更することができ、または私はちょうどこれを行うだろういくつかのJavaScriptを書くようにしてください?もしそうならば、データが変更されたかどうかをチェックするのではなく、データが新しいかどうかをどうすれば確認できますか?
表にはconditionという列があります。したがって、アプリケーションは、条件がfalseの行があるかどうかを確認する必要があります。それがあればそれを印刷するべきです。ユーザーがこれらの行を見ると、値をfalseからtrueに変更するボタンが押されます。したがって、condition = falseの行はすべて「新しいデータ」とみなされます。 – user1323294
と私は、行数だけでなく、ユーザーのすべてのデータを表示する必要があります。 – user1323294