Il file rete.php genera una visualizzazione organizzata per reparti dell'intera infrastruttura di rete, con:
Ecco il codice completo del file rete.php:
query($query);
// 2. Classificazione per reparto
$reparti = [
    'Infrastruttura' => [],
    'Progettazione' => [],
    'Produzione' => [],
    'Amministrazione' => []
];
while ($device = $result->fetch_assoc()) {
    $funzionalita = strtolower($device['Funzionalita'] ?? '');
    
    if (in_array($device['Tipo_Dispositivo'], ['Router', 'Server'])) {
        $reparti['Infrastruttura'][] = $device;
    } elseif (strpos($funzionalita, 'progettazione') !== false) {
        $reparti['Progettazione'][] = $device;
    } elseif (strpos($funzionalita, 'produzione') !== false) {
        $reparti['Produzione'][] = $device;
    } elseif (strpos($funzionalita, 'amministrazione') !== false) {
        $reparti['Amministrazione'][] = $device;
    }
}
// 3. Calcolo statistiche
$stats = [];
foreach ($reparti as $nome => $dispositivi) {
    $stats[$nome] = [
        'pc' => count(array_filter($dispositivi, fn($d) => $d['Tipo_Dispositivo'] === 'PC')),
        'stampanti' => count(array_filter($dispositivi, fn($d) => $d['Tipo_Dispositivo'] === 'Stampante')),
        'online' => count(array_filter($dispositivi, fn($d) => $d['Stato'] === 'Online'))
    ];
}
// 4. Visualizzazione HTML
?>
    
    
                    La prima parte del codice si occupa di recuperare i dati dal database e organizzarli in una struttura logica:
// Query per ottenere tutti i dispositivi con informazioni aggiuntive
$query = "SELECT d.*, i.Funzionalita, i.Porta 
          FROM dispositivi d
          LEFT JOIN info i ON d.ID_D = i.ID_D
          ORDER BY d.Tipo_Dispositivo";
$result = $conn->query($query);
// Struttura per classificare i dispositivi
$reparti = [
    'Infrastruttura' => [],
    'Progettazione' => [],
    'Produzione' => [],
    'Amministrazione' => []
];
                        
                        dispositivi e info per avere un quadro completoIl cuore della logica di rete.php è l'algoritmo che classifica ogni dispositivo nel reparto appropriato:
while ($device = $result->fetch_assoc()) {
    $funzionalita = strtolower($device['Funzionalita'] ?? '');
    
    if (in_array($device['Tipo_Dispositivo'], ['Router', 'Server'])) {
        $reparti['Infrastruttura'][] = $device;
    } elseif (strpos($funzionalita, 'progettazione') !== false) {
        $reparti['Progettazione'][] = $device;
    } elseif (strpos($funzionalita, 'produzione') !== false) {
        $reparti['Produzione'][] = $device;
    } elseif (strpos($funzionalita, 'amministrazione') !== false) {
        $reparti['Amministrazione'][] = $device;
    }
}
                        
                        Un dispositivo con Funzionalita = "PC progettazione1" verrà classificato nel reparto Progettazione.
La parte finale del codice genera l'output HTML organizzato per reparti:
// Per ogni reparto
foreach ($reparti as $nome => $dispositivi) {
    echo "<div class='reparto-section'>";
    echo "<h3>$nome</h3>";
    
    // Statistiche reparto
    echo "<div class='stats'>";
    echo "PC: {$stats[$nome]['pc']}, Stampanti: {$stats[$nome]['stampanti']}, Online: {$stats[$nome]['online']}";
    echo "</div>";
    
    // Dispositivi
    foreach ($dispositivi as $device) {
        echo "<div class='device-card {$device['Stato']}'>";
        echo "<h4>{$device['Funzionalita']}</h4>";
        echo "<p>IP: {$device['Indirizzo_IP']}</p>";
        echo "<p>Stato: {$device['Stato']}</p>";
        echo "</div>";
    }
    
    echo "</div>";
}