Ir para conteúdo
Fórum Script Brasil
  • 0

Paginação


PHP_ZIMBA

Pergunta

o pessoal to com duvida nessa seguinte "paginação"

que adaptei ao meu site

esse código, faz corretamente a contagem do numero de paginas.

Inclusive na primeira seleção ele axa corretamente os valores do

banco de dados

mas,

se eu clicar em um dos links da pagina 2, 3 ou proxímo...

ele não consegue axar os valores do banco.

--------------------

o código da paginação é o seguinte...

<?

include "abertura.inc";

$sql="select * from produto where tp_produto='$campotipo' and lb_produto='S' order by md_produto"; //desc limit 2

$busca=mysql_query($sql,$conexao); //cria uma lista do solicitado pela string "sql"

$num = @mysql_num_rows($busca);

$total_reg = 1;

$pagina = 1; //$HTTP_GET_VARS['pagina'];

if ($num <= $total_reg) {

$total_paginas = 1;

}

if ($num % $total_reg == 0) {

$total_paginas = $num / $total_reg;

}

else {

$total_paginas = ($num / $total_reg) - (($num % $total_reg) / $total_reg) + 1;

}

$linha_inicial = ($pagina - 1) * $total_reg;

$linha_final = $linha_inicial + $total_reg - 1;

// ----------------- DADOS DAS PAGINAS ------------------------------------------

echo "<center> Arquivo tem <b><font color=green'>" . $num . "</font></b> Fotos <br>";

echo "Página <b><font color='orange'>" . $pagina . "</b></font> de <b><font color='orange'>" . $total_paginas . "</b></font></center><br>";

// ------------------------------------------------------------------------------

$marcador = 0;

while ($lista = @mysql_fetch_array($busca)) {

$imagem= "padrão/destaques/ico_foto.gif";

if ($marcador >= $linha_inicial and $marcador <= $linha_final) {

?>

<table border width=100%>

<tr>

<th width="19%" height="16"><div align="center"> C&oacute;digo do Ve&iacute;culo</div></th>

<th width="14%"><div align="center"> Fotos</div></th>

<th width="38%"><div align="center"> Modelo</div></th>

<th width="14%"><div align="center"> Ano</div></th>

<th width="15%"><div align="center"> Valor</div></th>

</tr>

<tr onMouseOver="this.style.backgroundColor='#00ccff';" onmouseout="this.style.backgroundColor='';" bgColor=#DADADA>

<td>

<div align="center">

<a href="index.php?id=14&cod=<?echo $lista["cd_produto];?>"><?echo $lista["cd_produto"];?></a>

</div>

</td>

<td>

<div align=center">

<? if ($lista["foto]==""){

echo '"';

}else{

?>

<a href="index.php?id=14&cod=<? echo $lista["cd_produto"];?> ">

<img border=0" src="<? echo "$imagem"; } ?>"</a>

</div>

</td>

<td>

<div align="center">

<a href="index.php?id=14&cod=<? echo $lista["cd_produto];?>"> <? echo $lista["md_produto"];?></a>

</div>

</td>

<td>

<div align=center">

<? echo $lista["an_produto];?>

</div>

</td>

<td>

<div align="center">

<? echo $lista["vl_produto"];?>

</div>

</td>

</tr>

</table>

<?

}

$marcador = $marcador + 1;

}

echo "<br><br>";

?>

<?

if ($pagina <= 1) {

echo "<font color='#999999'><< anterior</font> |";

}

else {

echo "<< <a href='index.php?pagina=" . ($pagina - 1) . "' targe='_self'>anterior</a> |";

}

$i = 1;

/*aqui ele faz um loop para postrar as páginas que tem!*/

while ($i <= $total_paginas) {

if ($i == $pagina) {

echo " <font size='4'><b><u>$i</u></b></font> ";

}

else {

echo " <a href='index.php?id=13&pagina=" . $i . "'>" . $i . "</a> ";

}

$i = $i + 1;

}

if ($pagina >= $total_paginas) {

echo "| <font color='#999999'>próxima >></font> ";

}

else {

echo "| <a href='index.php?id=13&pagina=" . ($pagina + 1) . "'>próxima</a> >> ";

}

?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O problema é que você não está passando algumas variavel importante da consulta pelos links!

$sql="select * from produto where tp_produto='$campotipo' and lb_produto='S' order by md_produto"; //desc limit 2

Por ex:

else {

echo "| <a href='index.php?id=13&pagina=" . ($pagina + 1) . "&campotipo=".$campotipo."'>próxima</a> >> ";

}

?>

Não se esqueça de usar $_GET e $_POST para pegar as variaveis, é mais seguro.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...