ola pessoal tudo bem? tou com uma duvida cruel.. tipo to fazendo uma galeria de fotos com lightbox blz ela funcionar mas na parte de paginaçao nao consegui fazer .. ela funciona assim eu tenho um album onde cada album tem um id .. quando eu clico no album aparece as fotos desse album .. eu uso o metodo get eu passo por uma variavel mas o problema ta na paginaçao ela nao funciona de jeito nenhum quando eu clico para ir pra proxima pagina nao aparece nada .. vou mostra o codigo ta bagunçado rs ..
entao o problema e esse .. tenho um album cada um tem um id .. entao quando eu clino nesse album eu mando aparecer somente as fotos desse album tomo como referencia o id desse album .. mas quando vou fazer a paginaçao isso da problema as fotos aparece mas quando eu vou clicar na paginaçao para passar pra outra pagina n aparece nada fica a pagina vazia ..
<?php include"conexao.php";?>
<?php
@$valor = $_GET["valor"];
////////////////////////////////////////////////
$sql = "SELECT * FROM fotos_album order by id Desc";
$qry = mysql_query($sql);
@$numero = mysql_num_rows($qry);
//paginaçao configuraçoes....
$registros = 5;
@$pagina = $_GET["num"];
if(is_numeric($pagina))
$inicio = (($pagina-1)*$registros);
else
$inicio = 0;
$sql = "SELECT * FROM fotos_album WHERE n_foto= '".$valor."' order by id desc LIMIT $inicio,$registros";
$qry = mysql_query($sql,$conexao);
$qtd = mysql_num_rows($qry);
$paginas=ceil($numero/$registros);
///////////////////////////////////////////////
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>.:Sirlei Artes:.</title>
<link rel="stylesheet" href="efects/css/lightbox.css" type="text/css" media="screen" />
<script src="efects/js/prototype.js" type="text/javascript"></script>
<script src="efects/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="efects/js/lightbox.js" type="text/javascript"></script>
<script src="../../Nicks/Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<link href="galeria.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="index">
<div id="topo">
<div class="barra_inv_top"></div>
<div class="menus">
<ul>
<li><a href="index.php">Principal</a></li>
<li><a href="galeria">Galeria</a></li>
<li><a href="#comentarios">Comentarios</a></li>
<li><a href="#pedidos">Pedidos/Orçamentos</a></li>
<li><a href="#meu perfil">Meu Perfil</a></li>
<li><a href="#contato">Contato</a></li>
</ul>
</div>
</div>
<div id="meio">
<div id="pesquisar">
</div>
<div id="galeria_estrutura">
<div class="barras"></div>
<div class="fotoss">
<table width="170" height="153" border="0" align="center">
<tr>
<th align="left" valign="top" scope="col">
<?php
$i = 0;
while($linha = mysql_fetch_assoc($qry)){
// se a divisão de i com 3 sobrar 0 então pule de linha
if($i % 4 == 0){
echo "<tr></tr>";
}
echo '
<td>
<table class="tabelass" width="120" height="160" border="0">
<tr>
<th height="80" scope="col"><a href="album/fotos/'.$linha['titulo'].'.jpg" rel="lightbox[roadtrip]"><img src="album/fotos/'.$linha['titulo'].'.jpg" border="0" width="110" height="150" /></a></th>
</tr>
</table>
';
$i++;
}
?>
</th>
</tr>
</table>
</div>
</div>
<div id="paginacao">
<?php
if ($pagina >1)
echo "<a href='galeriaa.php?num=".($pagina-1) ."'>Anterior</a> ";
for ($cont=1; $cont <=$paginas; $cont ++)
{
if ($cont == $pagina)
echo $cont ." ";
else
echo "<a href='galeriaa.php?num=".$cont ."'>$cont</a> ";
}
if ($pagina <$paginas)
echo "<a href='galeriaa.php?num=".($pagina+1) ."'>Proximo</a> ";
?>
</div>
</div>
<div id="rodape"></div>
</div>
</body>
</html>
nessa parte aqui .. $sql = "SELECT * FROM fotos_album WHERE n_foto= '".$valor."' order by id desc LIMIT $inicio,$registros";
se eu colocar apenas o numero ao inves do $valor que e passado pelo metodo get da outra pagina .. a paginaçao funciona perfeitamente .. e como se quando eu clico na proxima pagina nao tem nada nesse valor .. e la nao aparece nada .. se alguem souber como posso fazer agradeço .. obrigado

Paginaçao Galeria
Started By kamus454, 30/07/2010, 23:13
3 replies to this topic
#1
Posted 30/07/2010, 23:13
#2
Posted 07/09/2010, 16:05
salve salve
vim tentar te salvar, mas não posso garantir muita coisa
Sou iniciante em PHP, porem sou meio fuçado, estou aprendendo php mais na marra do que na logica, mas ai vai
Juntei um pouco do seu codigo com um codigo que eu tinha para paginar noticias, o legal é que eu tambem aproveitei pra minha galeria, pois não estava conseguindo fazer tambem.
Só que na minha galeria não a pastas, ve ai se da certo pra vc.
segue o codigo
<?php include"conexao.php";?>
<?php
if (!isset($_GET["pagina"])) {
$pagina = 1;
}
else {
$pagina = $_GET["pagina"];
}
$max=28;
$inicio = $pagina - 1;
$inicio = $max * $inicio;
$sql=("SELECT * FROM galeria");
$query=mysql_query($sql);
$total=mysql_num_rows($query);
if ($total == 0)
echo "<center>Nenhum registro encontrado!</center><br />";
else
{
/*echo"<center><font color=\"silver\"/>".$total." publicações encontradas.</font><br><br>";*/
$sql2=("SELECT * FROM galeria ORDER BY id DESC LIMIT $inicio,$max ");
$query2=mysql_query($sql2)
?>
<?php
$i = 0;
while ($galeria = mysql_fetch_object($query2)) {
// se a divisão de i com 3 sobrar 0 então pule de linha
if($i % 4 == 0){
}
// Exibimos a foto
echo "<a href='fotos/".$galeria->foto."'rel=lightbox[roadtrip]>";
echo "<img style='border: 3px solid lightyellow; margin:3px;' src='fotos/".$galeria->foto."'alt='manoel antunes' width='105\' height='75' border='0' />";
// Exibimos a legenda
echo "</a>";
//echo "<b>Legenda:</b> " . $galeria->legenda . "<br /><br />";
$i++;
}
?>
<center>
<?php
// Calculando pagina anterior
echo "<br />";
$menos = $pagina - 1;
// Calculando pagina posterior
$mais = $pagina + 1;
$pgs = ceil($total / $max);
if($pgs > 1 )
{
if($menos >0)
echo "<a href=\"?pagina=$menos\" class='texto_paginacao'>Anterior</a> ";
if (($pagina-4) < 1 )
$anterior = 1;
else
$anterior = $pagina-4;
if (($pagina+4) > $pgs )
$posterior = $pgs;
else
$posterior = $pagina + 4;
for($i=$anterior;$i <= $posterior; $i++)
if($i != $pagina)
echo " <a href=\"?pagina=".($i)."\" class='texto_paginacao'>$i</a>";
else
echo " <strong class='texto_paginacao_pgatual'>".$i."</strong>";
if($mais <= $pgs)
echo " <a href=\"?pagina=$mais\" class='texto_paginacao'>Proxima</a>";
}
?>
</center>
<?php }?>
OBS: A variavel $max é a mesma coisa da sua $registro, caso não fique muito claro.
Boa sorte garoto!!!
vim tentar te salvar, mas não posso garantir muita coisa
Sou iniciante em PHP, porem sou meio fuçado, estou aprendendo php mais na marra do que na logica, mas ai vai
Juntei um pouco do seu codigo com um codigo que eu tinha para paginar noticias, o legal é que eu tambem aproveitei pra minha galeria, pois não estava conseguindo fazer tambem.
Só que na minha galeria não a pastas, ve ai se da certo pra vc.
segue o codigo
<?php include"conexao.php";?>
<?php
if (!isset($_GET["pagina"])) {
$pagina = 1;
}
else {
$pagina = $_GET["pagina"];
}
$max=28;
$inicio = $pagina - 1;
$inicio = $max * $inicio;
$sql=("SELECT * FROM galeria");
$query=mysql_query($sql);
$total=mysql_num_rows($query);
if ($total == 0)
echo "<center>Nenhum registro encontrado!</center><br />";
else
{
/*echo"<center><font color=\"silver\"/>".$total." publicações encontradas.</font><br><br>";*/
$sql2=("SELECT * FROM galeria ORDER BY id DESC LIMIT $inicio,$max ");
$query2=mysql_query($sql2)
?>
<?php
$i = 0;
while ($galeria = mysql_fetch_object($query2)) {
// se a divisão de i com 3 sobrar 0 então pule de linha
if($i % 4 == 0){
}
// Exibimos a foto
echo "<a href='fotos/".$galeria->foto."'rel=lightbox[roadtrip]>";
echo "<img style='border: 3px solid lightyellow; margin:3px;' src='fotos/".$galeria->foto."'alt='manoel antunes' width='105\' height='75' border='0' />";
// Exibimos a legenda
echo "</a>";
//echo "<b>Legenda:</b> " . $galeria->legenda . "<br /><br />";
$i++;
}
?>
<center>
<?php
// Calculando pagina anterior
echo "<br />";
$menos = $pagina - 1;
// Calculando pagina posterior
$mais = $pagina + 1;
$pgs = ceil($total / $max);
if($pgs > 1 )
{
if($menos >0)
echo "<a href=\"?pagina=$menos\" class='texto_paginacao'>Anterior</a> ";
if (($pagina-4) < 1 )
$anterior = 1;
else
$anterior = $pagina-4;
if (($pagina+4) > $pgs )
$posterior = $pgs;
else
$posterior = $pagina + 4;
for($i=$anterior;$i <= $posterior; $i++)
if($i != $pagina)
echo " <a href=\"?pagina=".($i)."\" class='texto_paginacao'>$i</a>";
else
echo " <strong class='texto_paginacao_pgatual'>".$i."</strong>";
if($mais <= $pgs)
echo " <a href=\"?pagina=$mais\" class='texto_paginacao'>Proxima</a>";
}
?>
</center>
<?php }?>
OBS: A variavel $max é a mesma coisa da sua $registro, caso não fique muito claro.
Boa sorte garoto!!!
#3
Posted 07/09/2010, 16:24
opa tudo bem .. olha valeu pela ajuda .. mas eu ja conseugir fazer rsrs ja terminei o projeto da galeria com paginaçao .. eu fiz basicamente a mesma coisa apenas deixei a variavel q recebe o valor fixa eu usei esse comando aqui @$valor = mysql_escape_string($_GET['valor']); com isso eu conseguir o que eu queria .... se precisar de algo, ou caso eu tambem precise mande email .. valeu ... obrigado pela ajuda
#4
Posted 07/09/2010, 19:18
legal amigo, provavelmente logo vou precisar, heheheeh
abç
abç
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)