PHP_ZIMBA Postado Dezembro 28, 2004 Denunciar Share Postado Dezembro 28, 2004 o pessoal to com duvida nessa seguinte "paginação"que adaptei ao meu siteesse código, faz corretamente a contagem do numero de paginas.Inclusive na primeira seleção ele axa corretamente os valores dobanco de dadosmas,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ódigo do Veí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> >> "; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Dezembro 29, 2004 Denunciar Share Postado Dezembro 29, 2004 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 2Por 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PHP_ZIMBA
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ódigo do Veí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
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.