Estou desenvolvendo um sistema de busca com paginação utilizando php+mysql.
Estava tudo perfeito até eu perceber que quando faço uma busca, a primeira página aparece os resultados referentes ao que eu digitei no campo de busca, porém, quando tento passar para próxima página ele me retorna todos os registros do banco, ignorando o termo da busca.
O que posso fazer pra corrigir isso? Segue o código:
//trecho de código que faz a paginação
$quantidade = 8;
$pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
$inicio = ($quantidade * $pagina) - $quantidade;
$buscar_pacientes = mysql_query ("SELECT * FROM paciente WHERE nome LIKE '%$nome_paciente%' ORDER BY nome LIMIT $inicio, $quantidade");
$total_registros = mysql_num_rows ($buscar_pacientes);
$sql_total = "SELECT id FROM paciente WHERE nome LIKE '%$nome_paciente%'";
$qr_total = mysql_query ($sql_total) or die (mysql_error());
$num_total = mysql_num_rows ($qr_total);
$total_pagina = ceil($num_total/$quantidade);
//código que exibe os links das páginas
<?php
if ($pagina == 1)
echo '<a href="#">Primeira </a>';
else
echo '<a href="?pagina=1">Primeira </a>';
for ($i=1; $i <= $total_pagina; $i++){
if ($i == $pagina)
echo "<a href=\"#\">$i </a>";
else
echo " <a href=\"?pagina=$i\">$i</a> ";
}
if ($pagina == $total_pagina)
echo '<href="#"> Última</a>';
else
echo "<a href=\"?pagina=$total_pagina\"> Última</a>";
?>