Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos ....
Estive um bom tempo sumido... e este projeto tem "me tirado do sério"... rs
Estou com probelmas com um sisteminha de paginação .. já li vários tutoriais .. diria que bem complexos .... (Pode não parecer mas acho complicadinho esse negócio de paginação).
Recorri ao script de meu amigo Bruno Capella .. que relamente foi muuiito util , porém adaptando aqui e ali .. não consegui fazer funcionar completamente .. Se eu faço com que os resultados aparecçam filtrados em 3 por página ... os links para as outras páginas não aparecem; Agora se retiro essa restrição ele calcula quantas páginas serão necessárias porém mostra tudo em uma só .
Eis o trecho do script .. Exibição dos intens + paginação :
CODE
<?php
//Dados da paginação;
$total_reg = "3";
if(!$pagina){
$pc = "1";
}else{
$pc=$pagina;
}
$inicio = $pc - 1;
$inicio = $pc * $total_reg;
?>
<!-- -- ABAIXO ESTA FUNCIONANDO !!! -- -->
<?php
$con = conectar();
$cat = $_REQUEST["cat"];
$colunas = 2;
$cont = 1;
$sql = mysqli_query($con,"
SELECT
*
FROM
produtos
WHERE
classe='$cat'
ORDER BY codigo LIMIT $inicio, $total_reg"); // <-- Slect somente do inicial até o fim da pág.;
$result = mysqli_num_rows($sql);
if($result == 0){
echo "
<center>
<br>
<img src='_imagens/layout_botoes_inter_info.png' width='45' height='45' /> <b>Não existem produtos para mostar.</b>
<br>
<br>
<a href='index.php' target='_self'>voltar</a>
</center>
";
}
else{
//Trecho onde são mostrados os produtos;
while($b = mysqli_fetch_array($sql)){
if($cont ==1){
echo "<tr>";
}
print "
<table width='424' border='0' cellspacing='0' cellpadding='0'>
<tr>
<th colspan='4' scope='col'> </th>
</tr>
<tr>
<th width='25' scope='col'> </th>
<th width='207' scope='col'><img src=_resources/fotos/".$b[foto]." width='260' height='195' /></th>
<th colspan='2' scope='col'>".$b[nome]." <br><br>Código: <span class='style5'>".$b[codigo]."</span><br><br><a href='carrinho.php'><img src='_imagens/layout_botoes_inter_carrinho.png' alt='Adicionar a "meu carrinho"' width='47' height='47' border='0' /></a></th>
</tr>
<tr>
<th colspan='4' scope='col'> </th>
</tr>
</table>
";
if($cont%$colunas==0){
print "</tr>";
}
$cont++;
}
if($cont < $colunas){
echo "</tr>";
}
}
//Paginação..;
$ant = $pc -1;
$prox = $pc + 1;
$most_link=5;
echo "<table width='300' align='center'>";
echo "<tr><td valign='top'>";
if($pc>1){
echo "<a href='?idpri=$_GET[idpri]&pagina=$ant'>
<img src='anterior.gif' border=0 align=center>
</a>";
} else{
echo "<img src='anteriorTrans.gif' border='0' align=center> ";
}
for($i=0;$i<$pag;$i++){
$num = $i+1;
$url = $_SERVER["PHP_SELF"]."?idpri=".$_REQUEST["idpri"]."&pagina=".$num;
if($num!=$pc){
echo "<a href='$url'>[$num]</a>";
} else{
echo "[$num]";
}
}//fecha for
if($pc<$pag){
echo "<a href='?idpri=$_GET[idpri]&pagina=$prox'><img src='avancar.gif' border=0 align=center></a>";
} else{
echo "<img src='avancarTrans.gif' border=0 align='center'>";
}
echo "</td></tr></table>";
?>
</div>
<div id="titulo">
<h3 align="right">
<span class="style10">
<?php
print $cat;
?>
</span>
</h3>
</div>
<div id="navegacao">
<table width="330" height="32" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="31">
<?php
echo "<a href='conteudo.php?req=escalas&cat=Escala 1/5\pagina=".$link_anterior."'><img src='_imagens/".$img_S_anterior."' alt='Página Anterior' width='31' height='32' border='0' /></a></td>"
?>
Obs: nunca fiz um sistema de paginação ... e estou achando algumas coisas confusas :
1) Preciso fazer uma consulta ao banco só para a paginação ? (separada)
2) As variáveis de início e total parecem estar certas ... por que algumas vezes eu "fuço" pra caramba e consigo fazer funcionar o número limite de registros, e outras vezes fica assim .. mostrando todos na mesma página e as páginas seguintes na navegação sem conteudo .. ???
Obs: (LINK) Veja como esta a "cagad&¨*&"
Peço por SOCOORRO e agradeço antes de mais nada ...
Obrigado a todos ..
Carregando comentários...