====== PHP: Rysowanie wykresów w PHP na przykładzie temperatury ====== Ta aplikacja w PHP łączy się z zewnętrzną bazą danych Microsoft SQL Server, odczytuje dane temperatur z dwóch tabel: ''MinskTemp'' oraz ''WarsawTemp'', a następnie prezentuje je w formie interaktywnego wykresu liniowego za pomocą biblioteki Chart.js. Wykres porównuje temperatury w Mińsku i Warszawie na podstawie dat zapisanych w bazie, umożliwiając wizualną analizę zmian temperatur w obu miastach. Aplikacja działa jako pojedynczy plik PHP, który automatycznie pobiera dane z bazy przy każdym uruchomieniu i wyświetla zaktualizowany wykres w przeglądarce użytkownika. Aplikacja jest uruchomiona i możesz sprawdzić jej działanie: https://wiki.ostrowski.net.pl/php_mysql/temp_chart.php {{url>https://wiki.ostrowski.net.pl/php_mysql/temp_chart.php 50%, 500px}} Dane do tej aplikacji zbiera [[narzedzia:node_red_temperature_collector|przepływ]] w Node-Red. W tej aplikacji chodzi tutaj o Mińsk Mazowiecki, nie stolicę Białorusi ;-) setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Błąd połączenia: " . $e->getMessage()); } // Fetch Minsk data $minskData = []; $stmt = $conn->query("SELECT DATE, TEMP FROM dbo.MinskTemp ORDER BY ID"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $minskData[] = $row; } // Fetch Warsaw data $warsawData = []; $stmt = $conn->query("SELECT DATE, TEMP FROM dbo.WarsawTemp ORDER BY ID"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $warsawData[] = $row; } // Close DB connection $conn = null; // Prepare labels (dates) and temperature arrays $labels = array_column($minskData, 'DATE'); $minskTemps = array_column($minskData, 'TEMP'); $warsawTemps = array_column($warsawData, 'TEMP'); ?> Temperature Chart

Temperature Comparison: Minsk vs Warsaw