getDataSensor

mail@pastecode.io avatar
unknown
html
a month ago
1.7 kB
0
Indexable
Never
<?php
require('koneksi.php');

// Atur zona waktu
date_default_timezone_set('Asia/Jakarta');

// Konfigurasi waktu timeout dalam detik (misalnya 1 menit)
$timeout = 10 * 60; // 1 menit dalam detik

// Query untuk mengambil data terbaru
$query = "SELECT * FROM sensor ORDER BY id DESC LIMIT 1";
$result = mysqli_query($koneksi, $query);

if (!$result) {
    die("Query gagal: " . mysqli_error($koneksi));
}

// Ambil data sebagai array
if (mysqli_num_rows($result) > 0) {
    // Ambil data terbaru
    $data = mysqli_fetch_assoc($result);

    // Periksa apakah data terbaru diterima dalam waktu yang diinginkan
    $current_time = time();
    $data_time = strtotime($data['waktu']); // Sesuaikan dengan nama kolom waktu di database Anda

    // Debugging tambahan
    error_log("Waktu sekarang: " . date("Y-m-d H:i:s", $current_time));
    error_log("Waktu data: " . date("Y-m-d H:i:s", $data_time));
    error_log("Selisih waktu: " . ($current_time - $data_time) . " detik");

    if (($current_time - $data_time) > $timeout) {
        // Jika data lebih lama dari waktu timeout, set nilai default ke 0
        $data = [
            'temperature' => 0,
            'humidity' => 0,
            'intensitas' => 0,
            'ammonia' => 0
        ];
    }
} else {
    // Jika tidak ada data, set nilai default ke 0
    $data = [
        'temperature' => 0,
        'humidity' => 0,
        'intensitas' => 0,
        'ammonia' => 0
    ];
}

// Debugging tambahan untuk data yang akan dikirim
error_log("Data yang dikirim: " . print_r($data, true));

// Ubah data ke format JSON dan kirimkan
echo json_encode($data);

// Tutup koneksi
mysqli_close($koneksi);
Leave a Comment