0) { $device = $sql->single( "SELECT d.* FROM devices d WHERE d.id = ?", "i", [$deviceId] ); } $isEdit = !empty($device); $pageTitle = $isEdit ? "Gerät bearbeiten: " . htmlspecialchars($device['name']) : "Neues Gerät"; $dependencyCounts = [ 'port_count' => 0, 'module_count' => 0, 'connection_count' => 0 ]; if ($isEdit) { $dependencyCounts = $sql->single( "SELECT ( SELECT COUNT(*) FROM device_ports dp WHERE dp.device_id = ? ) AS port_count, ( SELECT COUNT(*) FROM device_port_modules dpm JOIN device_ports dp2 ON dp2.id = dpm.device_port_id WHERE dp2.device_id = ? ) AS module_count, ( SELECT COUNT(*) FROM connections c WHERE (c.port_a_type = 'device' AND c.port_a_id IN ( SELECT dp3.id FROM device_ports dp3 WHERE dp3.device_id = ? )) OR (c.port_b_type = 'device' AND c.port_b_id IN ( SELECT dp4.id FROM device_ports dp4 WHERE dp4.device_id = ? )) ) AS connection_count", "iiii", [$deviceId, $deviceId, $deviceId, $deviceId] ) ?: $dependencyCounts; } // ========================= // Optionen laden // ========================= $deviceTypes = $sql->get("SELECT id, name, category FROM device_types ORDER BY name", "", []); $racks = $sql->get("SELECT id, name FROM racks ORDER BY name", "", []); ?>