Jump to content


Photo

Erro Na Paginação


  • Faça o login para participar
1 reply to this topic

#1 nelson

nelson

    www.opsbrasil.com.br

  • Usuários
  • 403 posts
  • Sexo:Masculino

Posted 18/10/2007, 07:42

ta dificil demais!!!:) nossa esse negocio de paginação é curel nao entendo a logica nen apau ja estude o codigo mas nao vai mas ainda nao joguei a camisa!!kkkk!!!

bom vamos la para mais uma duvida, faço uma busca e vem tudo certinho os 10 primeiro da primeira pagina mas quando passo para a segunda pagina ja era em o banco todo, pq? sera que alguem ja passo por esse problema nao consigo nen imaginar onde é esse problema.

mais uma pergunta se for possivel alguem tem ideia de como fazer para aparecer somente alguns numeros exemplo:

/1/2/3/4/5/6/7/8/9/10/........../73/74/75/76/ e assim o script vem umas par de numero gostaria de fazer assim

/1/2/3/4/5/6/7/... ai quando chegar na 06 fica sim um exemplo ...3/4/5/6/7/8/9/10/...


trechos da paginação:

$busca =$_POST['busca'];//variavel busca recebe o valor 


$sql = mysql_query("SELECT id,nome,endereco,numero,complemento,site,email,dd_tel,telefone,cotacao,categoria,opt_cidades,opt_estado FROM `cadastro` WHERE (nome LIKE '%$busca%' OR observacao LIKE '%$busca%')  and `opt_cidades` =0000 AND `opt_estado` =026 order by cotacao" );//numero da cidade
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT id,nome,endereco,numero,complemento,site,email,dd_tel,telefone,cotacao,categoria,opt_cidades,opt_estado FROM `cadastro` WHERE (nome LIKE '%$busca%' OR observacao LIKE '%$busca%')  and `opt_cidades` =0000 AND `opt_estado` =026 order by cotacao LIMIT $inicio, $lpp "); // Executa a query no MySQL com o limite de linhas. numero da cidade

while($l = mysql_fetch_array($sql))  {




}

// Agora o mais importante, gera os links....

if ($pagina > 0) {
	 $menos = $pagina - 1;
	 $url = "$PHP_SELF?pagina=$menos";
	 print "<a href=\"$url\">&laquo; Anterior</a>";
} else {
	 print "&laquo; Anterior";
}

for($i = 0; $i < $paginas; $i++) {
	 $linksp = $i + 1;
	 if ($pagina == $i) {
			 print " | <b>$linksp</b>";
	 } else {
			 $url = "$PHP_SELF?pagina=$i";
			 print " | <a href=\"$url\">$linksp</a>";
	 }
}

if($pagina < ($paginas - 1)) {
	 $mais = $pagina + 1;
	 $url = "$PHP_SELF?pagina=$mais";
	 print " | <a href=\"$url\">Pr&oacute;xima &raquo;</a>";
} else {
	 print " | Pr&oacute;xima &raquo;";
}


echo "</table>";

?>


so coloquei as parte em que envolve a paginação

muito Obrigado a todos do forum, to aprendendo muito aki, nun sabia nada agora sei um pouquinho.

grato
nelson

#2 André Milaré

André Milaré

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 19/10/2007, 14:32

Faltou uma linha no seu codigo:

// Especifica uma valor para variavel pagina caso a mesma não esteja setada
if(!isset($pagina)) 
   $pagina = 0;
else
   $pagina = $_GET[pagina];

já a paginação, dá pra fazer assim (vc aprimora o codigo)
for ($intLoop = $pagina; $intLoop = ($pagina + 6); $intLoop++) {
	echo $intLoop . "/";
	}
echo "...";

espero ter ajudado

[]'s André Milaré




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq