как не отправить равные данные в базу данных? - PullRequest
0 голосов
/ 15 февраля 2020

Этот код:

<?php
  include_once 'dbh.inc.php';
  include_once 'variables.inc.php';


  $sql = "INSERT INTO status (temp, weather, precipitation, vindtype, WindSpeed, WindDirection) VALUES ('$temp*C', '$weather', '$precipitation  mm', '$Windtype', '$Windspeed m/s', '$Winddirection');";
  mysqli_query($conn, $sql);

?>

отправляет текущий прогноз погоды в базу данных. Планировщик MS Task выполняет этот процесс автоматически каждые 10 минут.

Я хочу отправлять данные только в случае изменения какой-либо переменной. Итак, в основном: проверяйте каждые 10 минут, если что-то изменилось, если да, то отправляйте в базу данных, если нет, не отправляйте.

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 15 февраля 2020

Вы можете проверить, нет ли таких же значений в базе данных, прежде чем вставлять. Например:

<?php
  include_once 'dbh.inc.php';
  include_once 'variables.inc.php';

  $sql = "if not exists(select * from status where temp = '$temp*C' and weather = '$weather' and precipitation = '$precipitation  mm' and vindtype = '$Windtype' and WindSpeed = '$Windspeed m/s' and WindDirection = '$Winddirection')
begin
INSERT INTO status (temp, weather, precipitation, vindtype, WindSpeed, WindDirection) VALUES ('$temp*C', '$weather', '$precipitation  mm', '$Windtype', '$Windspeed m/s', '$Winddirection');
end;";
  mysqli_query($conn, $sql);

?>

Примечание. Я не проверял этот код, но он должен работать для вас

...