Untitled

mail@pastecode.io avatarunknown
plain_text
21 days ago
7.0 kB
3
Indexable
Never
Plik 1:
             <div class='modal fade' id='warehouseSensor<?php echo $id_czujnika?>' tabindex='-1' role='dialog' aria-labelledby='warehouseSensor' aria-hidden='true'>
                <div class="js-warehouse-sensors-modal"></div>
            </div>

//Nie mam pojecia jak pobrac to ID XDD


const SensorsWarehouseModal = () => {
    $.ajax({
        url: '../async/warehouse_sensors_modal_data_async.php',
        type: 'GET',
        dataType: 'json',
        success: function (response) {
            $('.js-warehouse-sensors-modal').html(response);

            // Add click event listener to open modals
            $('.map-marker').on('click', function () {
                const modalId = $(this).data('modal-id');
                $(modalId).modal('show');
            });
        },
        error: function (xhr, status, error) {
            // Handle error
        },
    });
};

setInterval(SensorsWarehouseModal, 10000);
SensorsWarehouseModal();
</script>

Plik 2 (mapa z przyciskami)

<?php

include "../connection/db_logginet_connect.php";

global $connection;

//Odczyt pomiarów oraz pozycji czujników
$query_sensors_wr_info = "SELECT 
a.id_czujnika,
a.temperatura,
a.wilgotnosc,
a.status,
p.nazwa_pozycji,
c.id_czujnika,
c.nr_centralki
FROM aktualny_pomiar a 
JOIN pozycje_czujnikow p ON (a.id_czujnika = p.id_czujnika)
JOIN czujniki c ON (a.id_czujnika = c.id_czujnika)";
$select_query_sensors_wr_info = mysqli_query($connection, $query_sensors_wr_info);

$warehouse_map_data = '';

while($row = mysqli_fetch_assoc($select_query_sensors_wr_info))
{
    
    $id_czujnika = $row['id_czujnika'];
    $temperatura = $row['temperatura'];
    $wilgotnosc = $row['wilgotnosc'];
    $status = $row['status'];
    $nazwa_pozycji = $row['nazwa_pozycji'];
    $nr_centralki = $row['nr_centralki'];

    // Statusy na mapie
    switch ($status)
    {
        case 0:
            $status = "success";
        break;

        case 1:
            $status = "yellow";
        break;

        case 2:
            $status = "danger";
        break;

        case 3:
            $status = "secondary";
        break;
    }

    //Temperatura
    if(!empty($temperatura))
    {
        $temperatura = "<i class='far fa-temperature-high'></i> T {$temperatura}°C<br>";
    }else
    {
        $temperatura = "";
    }

    //Wilgotność
    if(!empty($wilgotnosc))
    {
        $wilgotnosc = "<i class='fas fa-tint'></i> W {$wilgotnosc}%";
    }else
    {
        $wilgotnosc = "";
    }

    //Centralka
    switch ($nr_centralki)
    {
        case $nr_centralki === '99158':
            $centralka = "<span class='position-absolute top-0 start-50 translate-middle badge rounded-pill bg-primary'><i class='fas fa-sensor-on'></i> C $nr_centralki</span>";
            break;

        case $nr_centralki === '80895':
            $centralka = "<span class='position-absolute top-0 start-50 translate-middle badge rounded-pill bg-info'><i class='fas fa-sensor-on'></i> C $nr_centralki</span>";
            break;
    }

    $warehouse_map_data .= "
    <a
    id='{$nazwa_pozycji}'
    href='#'
    class='map-marker'
    data-toggle='modal'
    data-target='#warehouseSensor{$id_czujnika}'
    data-modal-id='#warehouseSensor{$id_czujnika}'
>
    <span aria-hidden='true'>
        <button type='button' class='btn bg-gradient-$status position-relative'>
            <h6 class='text-sm text-dark mt-1'>
                $temperatura $wilgotnosc
            </h6>
        </button>
    </span>
    $centralka
</a>";

//         </div>
//     </div>
// </div>


// ";

}
echo json_encode($warehouse_map_data);

?>


Plik 3 modal z danymi

<?php
include "../connection/db_logginet_connect.php";

global $connection;

$query_sensors_wr_info_modal = "SELECT 
    c.id_czujnika,
    c.nr_centralki,
    c.nr_czujnika,
    c.sn,
    c.typ,
    c.opis,
    a.status
    FROM czujniki c 
    JOIN aktualny_pomiar a ON (c.id_czujnika = a.id_czujnika)";
$select_query_sensors_wr_info_modal = mysqli_query($connection, $query_sensors_wr_info_modal);

$modal_body = '';

while ($row = mysqli_fetch_assoc($select_query_sensors_wr_info_modal)) {
    $id_czujnika = $row['id_czujnika'];
    $nr_centralki = $row['nr_centralki'];
    $nr_czujnika = $row['nr_czujnika'];
    $sn = $row['sn'];
    $typ = $row['typ'];
    $opis = $row['opis'];
    $status = $row['status'];

    $settings_button = "<a href ='../sensors_settings/warehouse_sensor.php?sensor_id=$id_czujnika' type='button' class='btn btn-secondary mr-auto fs-6'>Ustawienia <i class='fas fa-cog fa-lg'></i></a>";   
    
    switch ($status) {
        case 0:
            $status_czujnika = "<h4>Status: <b class='text-center text-success'>OK <i class='fas fa-check-circle'></i></b></h4>";
            break;
        case 1:
            $status_czujnika = "<h4>Status: <b class='text-center text-warning'>AWARIA <i class='fas fa-exclamation-circle'></i></b></h4>";
            break;
        case 2:
            $status_czujnika = "<h4>Status: <b class='text-center text-danger'>BRAK POŁĄCZENIA <i class='fas fa-wifi-slash'></i></b></h4>";
            break;
        case 3:
            $status_czujnika = "<h4>Status: <b class='text-center text-secondary'>DEZAKTYWOWANO <i class='fas fa-moon'></i></b></h4>";
            break;
    }

    // Construct the modal for this sensor
    $modal_body .= "
        <div class='modal-dialog modal-dialog-centered modal-dialog-scrollable' role='document'>
            <div class='modal-content p-5'>
                <div class='modal-header'>
                    <div class='col-md-12 col-sm-12'>
                        <h4 class='font-weight-bolder text-dark text-gradient'>Czujnik $nr_centralki </h4>
                    </div>
                    <button type='button' class='btn-close text-dark fs-3' data-dismiss='modal' aria-label='Close'>
                    <span aria-hidden='true'>&times;</span>
                    </button>
                </div>
                <div class='modal-body'>
                    <h6>Id czujnika: <p class='text-monospace'>$id_czujnika</p></h6>
                    <h6>Lokalizacja: <p class='text-monospace'>$opis</p></h6>
                    <h6>Numer czujnika: <p class='text-monospace'>$nr_czujnika</p></h6>
                    <h6>Numer centralki: <p class='text-monospace'>$nr_centralki</p></h6>
                    <h6>Numer seryjny: <p class='text-monospace'>$sn</p></h6>
                    <h6>Grupa: <p class='text-monospace'>pamietaj zeby pobraz pozniej</p></h6>
                </div>
                <div class='modal-footer'>
                    $settings_button
                    $status_czujnika
                </div>
            </div>
        </div>
    ";
}

echo json_encode($modal_body);
?>