Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Good

[Resolvido] Paginação Avançar, Voltar com fotos..

Recommended Posts

Não é a mesma dúvida.. aí já é diferente.. eu já tenhos os códigos.. e queria alterar algumas coisas..

 

 

e criei outro tópico pra ver se mais gente me ajuda, pq o que eu percebo aqui é que se alguém cria o tópico. E alguém responde, essa pessoa que responde comanda o tópico, e as vezes alguém vai dar opinião..

 

 

agora quase ninguém vai me ajudar..

 

 

eu preciso muito disso..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, se eu fosse você usaria JQuery, além de descomplicar em milhões % seu trabalho, fica mais bonito, mais rápido e mais convidativo :D É só add. as URLs das imgs e pum! O JQuery mostra! Não precisa se preocupar com ID, com sei lá o que... funciona como uma lista =] Veja um exemplo: http://www.gcmingati.net/wordpress/wp-content/lab/jquery/svwt/index.html - Além de ter efeito, resume o espaço com um carousel, mostra descrição... :D (Obs.: tem várioooooos outros pela net, é só fuçar)

 

Enfim, JQuery pode fazer você perder menos tempo da sua vida xD Seria só pegar as imgs do usuário e add!

 

Espero ter ajudado, até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tô ligado.. mas só que tem comentários nas fotos, descrição, etc..

 

é igual ao orkut.. se eu encontrasse uma quase igual ao orkut tava beleza já.. e que desse pra ter comentários, etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Good

 

Achei interessante a idéia e resolvi fazer. Olha só:

 

<?php
// aqui você troca os valores do servidor, usuário, senha e nome do DB
$mysql = new mysqli('SERVER','USER','PASSWORD','DBNAME');

// query para recuperar a quantidade de fotos deste usuário
$query = $mysql->query('SELECT COUNT(*) AS totalFotos FROM fotos WHERE idUsuario = 1');
// gravando o resultado em $result como um objeto
$result = $query->fetch_object();
// agora, $result->totalFotos tem o total de fotos deste usuário

/**
 * Testamos de foi enviada $_GET['foto'] e se é maior que 0
 * Se for enviado, adiciona este valor à consulta, fazendo o cast para evitar injection
 * Se não for enviado, então fazemos a consulta à primeira foto 
 */
if(isset($_GET['foto']) && $_GET['foto'] > 0)
{
	// aqui você troca o nome do campo que tem o id do usuário, o nome da tabela
	// e coloca a variável que vai receber o valor do id 
	$query = $mysql->query('SELECT * FROM fotos WHERE idUsuario = 1 LIMIT '.(int)$_GET['foto'].',1');
	$proxima = (int)$_GET['foto'] + 1;
	$anterior = (int)$_GET['foto'] - 1;
}
else
{
	// aqui você troca o nome do campo que tem o id do usuário, o nome da tabela
	// e coloca a variável que vai receber o valor do id
	$query = $mysql->query('SELECT * FROM fotos WHERE idUsuario = 1 LIMIT 1');
	$proxima = 1;
}
// $row passa a ter o objeto com a consulta das fotos.
$row = $query->fetch_object();
/**
 * A partir daqui  é a exibição das imagens.
 * Então, altere para se adequar à sua necessidade
 */
echo '<h1>Imagem</h1>'.PHP_EOL;
echo '<img src="'.$row->fotoName.'"/>'.PHP_EOL;
// Aqui é o link para a imagem anterior
echo (isset($anterior)) ? '<a href="'.$_SERVER['PHP_SELF'].'?foto='.$anterior.'">Anterior</a>': '';
// Aqui é o link para a próxima imagem
echo (isset($proxima) && $proxima < $result->totalFotos) ? '<a href="'.$_SERVER['PHP_SELF'].'?foto='.$proxima.'">Próxima</a>' : '' ;

O código tá comentado, então não tem mistério. Se tiver dúvida, poste novamente.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como não deu?

Este código aí em cima foi testado e está funcionando perfeitamente.

Como você tentou fazer? O que modificou? O que ficou diferente? O que apareceu?

 

Outra coisa, o link que você postou está funcionando, ao meu ver, perfeitamente.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está com problemas na paginação das setinhas menores, as horizontais e não as verticais..

 

é pq eu estou programando apenas em mysql.. tentei passar pra mysql, mas num entendi algumas coisas..

 

como por exemplo, o fetch_object é mysql_fetch_assoc?

 

 

não entendi estas partes..

 

e tbm, eu acabei de colocar aqui pra rodar como mysqli, só configurei.. aí é como é que eu faria pra dar uma verificação, pra ver se a foto que o usuário está vendo é a mesma que está na primeira paginação e colocar uma cor diferente na borda pra saber que o usuário está visualizando aquela foto? (A com as imagens verticais)

 

 

vlw ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

A gente, eu to lascado.. é pra um cliente meu..

 

mas tá tudo errado..

 

a paginação está certa, só que não é assim..

 

é esse aqui:

 

http://www.mixmodels.com.br/fotos.php?tipo=2&id=1&fotoid=13&pg=

 

só que tá com bugs nas 2 paginações.. num tem ninguém que me ajuda ae não? É que nem o orkut, com os botões avançar e voltar.. e tem outras miniaturas, que quando clicasse a paginação já começasse daquela foto..

 

 

to perdido.. é f*** mesmo..

 

 

 

tipo:

 

tem as miniaturas que são mostradas 8 por página, até aí sem problemas. Mas como eu faria pra exibir os outros links de avançar e voltar na foto grande? Essa é a dúvida, mas só agora que eu me toquei que o que eu estava fazendo, era o errado...

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pensei assim:

 

Colocar todas as ids do usuário dentro de uma array, e naquela parte de avançar e voltar.. é só ir colocando next e prev..

 

 

só que fica dando erro...

 

Warning: next() [function.next]: Passed variable is not an array or object in C:\AppServ\www\daniel\colorvoid-website-template\fotos.php on line 316

O código é:

 

$fotos = mysql_query("SELECT * FROM fotos WHERE usuarioid = '".$id_usuario."'") or die(mysql_error());

fotoid = array();
while($rows = mysql_fetch_array($fotos))
{
     $fotoid[] = $rows['id'];
     $fotos = $fotoid[$i++]." ";


}

echo next($fotos);

Eu só precisava disso, no lugar de usar paginação e tal.. pelo menos ia atualizando apenas id da foto na URL, e ia fazendo pequenas alterações.. tem como alguém me ajudar?

 

Pegar as IDs e ir usando next e prev..

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha Good, o que poderíamos te ajudar já foi feito. Foram dados vários exemplos, um inclusive completo e totalmente funcional.

Mais do que isto, só fazendo pra você.

Se for esta a sua opção, procure Mercado Imasters e/ou Ofertas para Freelancer.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow velho.. só que aqueles lá não davam certo com o jeito q eu queria..

 

 

ajuda ae só nesse.. eu já consegui fazer com que pegue as IDs e coloquem no array, aí eu só queria agora é adiantar e avançar..

 

só isso cara, por favor.. acredito que pra você não demorará nem uns 3 minutos pra ajudar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ôpa.. consegui aqui..

 

depois de mto tempo..

 

:D

 

fica ae pra quem quiser:

 

while($valor = mysql_fetch_assoc($sql_query)){

$id[$i] = $valor['id'];
$i++;

}
for($a=1; $a<=sizeof($id); $a++){
	if($id[$a] == $_GET['fotoid']){
		if($a == 1){
            $mais = strtoupper($id[$a+1]);
            echo "<img src=\"img/Fotos/voltar.png\"> <a href=\"fotos.php?fotoid=$mais&pg=$_GET[pg]\"><img src=\"img/Fotos/avancar.png\"></a>";
		}
		else{
			if($a == sizeof($id)){
                $menos = strtoupper($id[$a-1]);
                echo "<a href=\"fotos.php?&fotoid=$menos&pg=$_GET[pg]\"><img src=\"img/Fotos/voltar.png\"></a> <img src=\"img/Fotos/avancar.png\">";
			}
			else{
                $menos = strtoupper($id[$a-1]);
                $mais = strtoupper($id[$a+1]);
				echo "<a href=\"fotos.php?fotoid=$menos&pg=$_GET[pg]\"><img src=\"img/Fotos/voltar.png\"></a> <a href=\"fotos.php?fotoid=$mais&pg=$_GET[pg]\"><img src=\"img/Fotos/avancar.png\"></a>";
			}
		}
	}
}

 

Nem precisou usar paginação... simples?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.