By incrementing a paging system in my search system, I get an error moving from the first page to another.
Error:
HTML Form:
<form class="pesquisa" action="http://<?php echo $url; ?>/admin/paginas/pesquisa.php" method="GET">
<input type="search" name="busca" class="input-busca" placeholder="Faça uma pesquisa.." required>
</form>
SCRIPT PAGINAÇÃO:
<?php
$url = $_SERVER['SERVER_NAME']; // imprime:www.site.com.br
if(isset($_GET['pag'])){
$tamanhoGET = 0 - strlen($_GET['pag']);
$urlEndereco = substr($_SERVER ['REQUEST_URI'], 0, $tamanhoGET);
}else{
$urlEndereco = $_SERVER ['REQUEST_URI'].'?pag=';
}
?>
<div class="paginacao">
<?php
if($pag!=1){
echo "<a href='http://".$url.$urlEndereco.($pag-1)."'> Anterior</a>";
}
if($contador<=$maximo){
echo "<td>Existe apenas uma única página</td>";
} else{
for($i=1;$i<=$paginas;$i++){
if($pag==$i){
echo "<a class='link-ativo' href='http://".$url.$urlEndereco.$i."'> ".$i."</a>";
}else{
echo "<a href='http://".$url.$urlEndereco.$i."'> ".$i."</a>";
}
}
}
if($pag!=$paginas){
echo "<a href='http://".$url.$urlEndereco.($pag+1)."'> Próxima</a>";
}
?>
</div>
SEARCH SCRIPT
<?php
include('../../config.php');
//if(empty($busca)) {
// header('Location: ../');
//}
$busca = $_GET['busca'];
include('../header.php');
$sql_res=mysqli_query($conexao,"SELECT * FROM conteudo WHERE MATCH (titulo, texto, autor, id_categoria, id_pontos, id_orixas) AGAINST ('$busca') ORDER BY id DESC");
$contador=mysqli_num_rows($sql_res);
//Verificando se já selecionada alguma página
if(empty($_GET['pag'])){
$pag=1;
}else{
$pag = "$_GET[pag]";} //Pegando página selecionada na URL
if($pag >= '1'){
$pag = $pag;
}else{
$pag = '1';
}
$maximo=2; //Quantidade Máxima de posts por página
$inicio = ($pag * $maximo) - $maximo; //Variável para LIMIT da sql
$paginas=ceil($contador/$maximo); //Quantidade de páginas
$sql = "SELECT * FROM conteudo WHERE MATCH (titulo, texto, autor, id_categoria, id_pontos, id_orixas) AGAINST ('$busca') ORDER BY id DESC LIMIT $inicio, $maximo";
$exe = mysqli_query($conexao, $sql);
$contaRegistros = mysqli_num_rows($exe);
?>
When performing a search, the URL is as follows:
http://localhost/admin/paginas/pesquisa.php?busca=teste
And when you move pages:
http://localhost/admin/paginas/pesquisa.php?busca=teste?pag=2?pag=3
However, the results are always the same.
Note: As I said, the paging system works perfectly on the other files, except in the search. The link is getting as above because of:
echo "<a href='http://".$url.$urlEndereco.$i."'> ".$i."</a>";
Where $ url - > $ _SERVER ['SERVER_NAME'];
and $ urlEndereco - > $urlEndereco = $_SERVER ['REQUEST_URI'].'?pag=';