O script está assim, como abaixo, ele funciona na primeira página de resultados que retorna, mas se eu clico no link 2 por exemplo ele não me retorna o segundo resultado, mas faz a querie de novo e aumenta o numero de resultados...parece que perde a referencia de busca.
Na página que envia as variáveis para a busca tá tudo certo, action="paulo.php".
O script :
<?
/* PAGINAÇÃO DE RESULTADOS DE UM BANCO DE DADOS MYSQL
Mostra links para 5 páginas anteriores e 5 posteriores, além do link Anterior e Próxima
Pergunta
Guest Paulo Fornazari
O script está assim, como abaixo, ele funciona na primeira página de resultados que retorna, mas se eu clico no link 2 por exemplo ele não me retorna o segundo resultado, mas faz a querie de novo e aumenta o numero de resultados...parece que perde a referencia de busca.
Na página que envia as variáveis para a busca tá tudo certo, action="paulo.php".
O script :
<?
/* PAGINAÇÃO DE RESULTADOS DE UM BANCO DE DADOS MYSQL
Mostra links para 5 páginas anteriores e 5 posteriores, além do link Anterior e Próxima
Autor: Flavio Cambraia - flavio@brazilsoftware.com.br
*/
function f_paginacao ($tr,$rpp,$pg) { // $tr é total_records e $rpp é registros por pagina
if ($tr%$rpp==0){$pages = intval($tr / $rpp)-1;} else {$pages = intval($tr / $rpp);} // calcula quantas paginas serao necessarias
if ($tr>0){
echo " Total de Registros Encontrados: $tr - ";
$NumRegistroInicial = ($pg*$rpp)+1;
if ($pg <> $pages) {$NumRegistroFinal = ($pg*$rpp)+$rpp;} else {$NumRegistroFinal = $tr;}
echo "Exibindo Registros de $NumRegistroInicial a $NumRegistroFinal";
echo "<br>";
echo "<p align=\"center\">Páginas: ";
if ($pg <> 0) {
$showpage = $pg - 1;
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$showpage.'">Anteriores</a> ';
}
for ($i = $pg-5; $i<$pg; $i++) {
$showpage=$i+1;
if ($i>=0) {
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$i.'">'.$showpage.'</a>';
echo ' ';
}
}
for ($i = $pg; ($i<=$pages AND $i<=($pg+5)); $i++) {
$showpage=$i+1;
if ($i == $pg) {
echo '<font face=Arial size=2 color=ff0000><b>'.$showpage.' </b></font>';}
else {
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$i.'">'.$showpage.'</a>';
echo ' ';
}
}
if ($pg < $pages) {
$showpage = $pg + 1;
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$showpage.'"> Próximas</a>';}
}
}
// FINAL DA FUNÇÃO DE PAGINAÇÃO
$dbname="database"; // Indique o nome do banco de dados que será aberto
$usuario="usuario"; // Indique o nome do usuário que tem acesso
//1º passo - Conecta ao servidor MySQL
$id = mysql_connect("host",$usuario);
//2º passo - Seleciona o Banco de Dados
$con=mysql_select_db($dbname);
$sql_tr = "SELECT * FROM consultor WHERE nome LIKE '%".$nome."%' ORDER BY nome";
$res_tr = mysql_query($sql_tr);
$tr = mysql_num_rows($res_tr); // $tr é o total de registros
if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 1;} // $rpp é registros por pagina - o padrão é 10
if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}
$inicial = $pg * $rpp ;
$sql = "SELECT * FROM consultor WHERE nome LIKE '%".$nome."%' ORDER BY nome";
$res = mysql_query($sql);
f_paginacao($tr,$rpp,$pg);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Paginacao</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="60%">
<? while ($row=mysql_fetch_array($res)) { ?>
<tr>
<td width="50%"><? echo $row[nome]; ?></td>
<td width="50%"><? echo $row[func]; ?></td>
</tr>
<? } ?>
</table>
</body>
</html>
E aí ????
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados