<?php
if ($hasResults && $total_pages > 1) {
echo "<div class='pagination'>";

// Adicione todos os parâmetros necessários aqui
$params = [
	'nome_fantasia_razao' => $nome_fantasia_razao,
	'cpf' => $cpf,
	'cnpj' => $cnpj,
	'nome' => $nome,
	'tipopessoa' => $tipopessoa,
	'situacao' => $situacao,
	'form_submitted' => '1' //passando parametro que a consulta foi feita e pode ser paginada
];

// Filtrar valores nulos ou 'Todos' para não incluí-los na URL.
$params = array_filter($params, function($value) {
	return $value !== null && $value !== 'Todos';
});

$queryString = http_build_query($params);

// Se não for a primeira página, mostre a opção de voltar
if ($current_page > 1) {
	echo "<a href='index.php?page=" . ($current_page - 1) . "&" . $queryString . "'>Anterior</a>&nbsp;";

}

$startPage = max(1, ($current_page - 3));
$endPage = min($total_pages, ($current_page + 3));

if ($current_page <= 4) {
	$endPage = min($total_pages, 7);
}

// Mostra todos os números das páginas
for ($i = $startPage; $i <= $endPage; $i++) {
if ($i == $current_page) {
		// Se for a página atual, exibe em negrito
		echo "<strong><a href='index.php?page=" . $i . "&" . $queryString . "'>" . $i . "</a></strong>&nbsp;";
	} else {
		echo "<a href='index.php?page=" . $i . "&" . $queryString . "'>" . $i . "</a>&nbsp;";
	}

}

// Se não for a última página, mostre a opção de avançar
if ($current_page < $total_pages) {
	echo "<a href='index.php?page=" . ($current_page + 1) . "&" . $queryString . "'>Próxima</a> ";
}

echo "</div>";
}
?>