0) { $conditions[] = "D.id = ?"; $params[] = (int)$f_id; // приведение к int для безопасности } $whereClause = !empty($conditions) ? ' AND ' . implode(' AND ', $conditions) : ''; $countSQL = " SELECT COUNT(*) FROM unknown_mac AS U JOIN devices AS D ON U.device_id = D.id JOIN device_ports AS DP ON U.port_id = DP.id WHERE D.device_type <= 2 AND U.ts >= ? AND U.ts < ? $whereClause "; $count_records = (int)get_single_field($db_link, $countSQL, $params); $total = ceil($count_records / $displayed); $page = max(1, min($page, $total)); $start = ($page - 1) * $displayed; $limit = (int)$displayed; $offset = (int)$start; $dataParams = array_merge($params, [$limit, $offset]); $sSQL = " SELECT U.mac, U.ts, DP.port, D.device_name FROM unknown_mac AS U JOIN devices AS D ON U.device_id = D.id JOIN device_ports AS DP ON U.port_id = DP.id WHERE D.device_type <= 2 AND U.ts >= ? AND U.ts < ? $whereClause ORDER BY U.mac LIMIT ? OFFSET ? "; $maclog = get_records_sql($db_link, $sSQL, $dataParams); print_log_submenu($page_url); ?>
| " . $row['device_name'] . " | \n"; print "" . $row['port'] . " | \n"; print "" . mac_dotted($row['mac']) . " | \n"; print "" . get_datetime_display($row['ts']) . " | \n"; print "\n"; } print "