Pessoal é o seguinte estou com um script de paginação em php utilizando PDO que pega os itens do banco no intervalo de duas datas
a consulta e a paginação esta sendo feita corretamente o problema é quando clico no link da paginação que deveria ir para
exemplo para a pagina 2 ele na verdade faz um refresh da página segue o codigo.
// arquivo teste2.php que é o arquivo da paginação
<?php
/* Constantes de configuração */
define('QTDE_REGISTROS', 2);
define('RANGE_PAGINAS', 1);
/* Recebe o número da página via parâmetro na URL */
$pagina_atual = (isset($_GET['page'])) ? $_GET['page'] : 1;
/* Calcula a linha inicial da consulta */
$linha_inicial = ($pagina_atual-1) * QTDE_REGISTROS;
/* Cria uma conexão PDO com MySQL */
$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
$pdo = new PDO("mysql:host=localhost; dbname=materiais;", "root", "", $opcoes);
/* Instrução de consulta para paginação com MySQL */
$sql = "select p.nome_prod, p.descricao, pd.quantidade, DATE_FORMAT(pd.data_entrada,'%d/%m/%Y') from produtos p inner join prod_entrada pd on p.id_prod = pd.id_prod where pd.data_entrada between '$data1' and DATE_ADD('$data2', INTERVAL 1 DAY) LIMIT {$linha_inicial}, " . QTDE_REGISTROS;
$stm = $pdo->prepare($sql);
$stm->execute();
$dados = $stm->fetchAll(PDO::FETCH_OBJ);
/* Conta quantos registos existem na tabela */
$sqlContador = "SELECT COUNT(*) AS total_pedido FROM produtos p inner join prod_entrada pd on p.id_prod = pd.id_prod where pd.data_entrada between '$data1' and DATE_ADD('$data2', INTERVAL 1 DAY)";
$stm = $pdo->prepare($sqlContador);
$stm->execute();
$valor = $stm->fetch(PDO::FETCH_OBJ);
/* Idêntifica a primeira página */
$primeira_pagina = 1;
/* Cálcula qual será a última página */
$ultima_pagina = ceil($valor->total_pedido/QTDE_REGISTROS);
/* Cálcula qual será a página anterior em relação a página atual em exibição */
$pagina_anterior = ($pagina_atual > 1) ? $pagina_atual -1 : 0 ;
/* Cálcula qual será a pŕoxima página em relação a página atual em exibição */
$proxima_pagina = ($pagina_atual < $ultima_pagina) ? $pagina_atual +1 : 0 ;
/* Cálcula qual será a página inicial do nosso range */
$range_inicial = (($pagina_atual - RANGE_PAGINAS) >= 1) ? $pagina_atual - RANGE_PAGINAS : 1 ;
/* Cálcula qual será a página final do nosso range */
$range_final = (($pagina_atual + RANGE_PAGINAS) <= $ultima_pagina ) ? $pagina_atual + RANGE_PAGINAS : $ultima_pagina ;
/* Verifica se vai exibir o botão "Primeiro" e "Pŕoximo" */
$exibir_botao_inicio = ($range_inicial < $pagina_atual) ? 'mostrar' : 'esconder';
/* Verifica se vai exibir o botão "Anterior" e "Último" */
$exibir_botao_final = ($range_final > $pagina_atual) ? 'mostrar' : 'esconder';
?>
// arquivo teste.php
<form class="form-search" action="" method="post">
<p> <strong><h3> Escolha o Período de entrada de Produtos </h3></strong></p>
<table>
<tr>
<td><strong>Data Inicial </strong> </td>
<td> </td>
<td><strong>Data Final </strong> </blockquote></td>
</tr>
<tr>
<td> <input type="text" name="data1" id="cdata1" > </td>
<td> </td>
<td><input type="text" name="data2" id="cdata2"/> </td>
<td> <button type="submit" class="btn btn-primary" name="btbusca">Busca</button> </td>
</tr>
</table>
<br>
<?php
if (isset($_POST['btbusca'])) {
$data1 = null;
$data1 = $_POST['data1'];
$data2 = $_POST['data2'];
$data1 = date('Y-d-m', strtotime($data1));
$data2 = date('Y-d-m', strtotime($data2));
include_once 'teste2.php';
$data = "DATE_FORMAT(pd.data_entrada,'%d/%m/%Y')";
?>
<?php if (!empty($dados)): ?>
<table class="table table-striped table-bordered">
<thead>
<tr class='active'>
<th>Produto</th>
<th>Descrição</th>
<th>Quantidade</th>
<th>Data</th>
</tr>
</thead>
<tbody>
<?php foreach($dados as $artigo):?>
<tr>
<td><?=$artigo->nome_prod?></td>
<td><?=$artigo->descricao?></td>
<td><?=$artigo->quantidade?></td>
<td><?=$data?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div class='box-paginacao'>
<a class='box-navegacao <?=$exibir_botao_inicio?>' href="teste.php?page=<?=$primeira_pagina?>" title="Primeira Página">Primeira</a>
<a class='box-navegacao <?=$exibir_botao_inicio?>' href="teste.php?page=<?=$pagina_anterior?>" title="Página Anterior">Anterior</a>
<?php
/* Loop para montar a páginação central com os números */
for ($i=$range_inicial; $i <= $range_final; $i++):
$destaque = ($i == $pagina_atual) ? 'destaque' : '' ;
echo "<a href='teste.php?page=$i'>".$i."</a> "; ?>
<?php endfor; ?>
<a class='box-navegacao <?=$exibir_botao_final?>' href="teste.php?page=<?=$proxima_pagina?>" title="Próxima Página">Próxima</a>
<a class='box-navegacao <?=$exibir_botao_final?>' href="teste.php?page=<?=$ultima_pagina?>" title="Última Página">Último</a>
</div>
<?php else: ?>
<p class="bg-danger">Nenhum registro foi encontrado!</p>
<?php endif; ?>
<?php }?>