= ? AND ts < ?" . $whereClause;
$count_records = (int)get_single_field($db_link, $countSQL, $params);
// === 3. Пагинация ===
$total = ceil($count_records / $displayed);
$page = max(1, min($page, $total)); // корректное ограничение страницы
$start = ($page - 1) * $displayed; // исправлено: OFFSET должен быть (page-1)*limit
print_navigation($page_url, $page, $displayed, $count_records, $total);
// === 4. Запрос данных с пагинацией ===
// Добавляем LIMIT и OFFSET как параметры (приводим к int!)
$limit = (int)$displayed;
$offset = (int)$start;
$dataParams = array_merge($params, [$limit, $offset]);
$sSQL = "
SELECT * FROM worklog
WHERE ts >= ? AND ts < ?" . $whereClause . "
ORDER BY ts DESC
LIMIT ? OFFSET ?
";
$userlog = get_records_sql($db_link, $sSQL, $dataParams);
?>
|
|
|
|
|
\n";
print "" . get_datetime_display($row['ts']) . " | \n";
print "" . $row['customer'] . " | \n";
$msg_level = 'INFO';
if ($row['level'] == L_ERROR) { $msg_level='ERROR'; }
if ($row['level'] == L_WARNING) { $msg_level='WARNING'; }
if ($row['level'] == L_DEBUG) { $msg_level='DEBUG'; }
if ($row['level'] == L_VERBOSE) { $msg_level='VERBOSE'; }
print "" . $row['ip'] . " | \n";
print "" . $msg_level . " | \n";
$print_msg = expand_log_str($db_link, $row['message']);
print "" . $print_msg . " | \n";
print "\n";
}
print "
\n";
print_navigation($page_url,$page,$displayed,$count_records,$total);
require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
?>