Ir para conteúdo

Arquivado

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

fabiossmn

[Resolvido] Jquery + Cycle na mesma página

Recommended Posts

Bom dia, estou tendo problemas com o plugin,

bem eu nao intendo nada de JS e cia. so vendo tutoriais para instalar

 

meu problema é o seguinte:

quero mostrar 3 "slides" na mesma página, mas as imagens estão vindo do banco de dados

 

como eu faço isso?

codigo do plugin e o codigo que carrega um "slide" só:

 

plugin:

 

<script type="text/javascript" src="js/jquery-1.5.js"></script>
<script type="text/javascript" src="js/jquery.cycle.all.min.js"></script>
<script type="text/javascript">
	$(function(){
	 $("#foto_ini").cycle({
		  fx: 'uncover',
		  speed:5000
		  			})		   
	})

</script>

 

meu codigo:

        <?php 

		$cont = 0;
		mysql_connect("localhost", "banco", "" ) or die( 'Erro na conexao' );
		mysql_select_db("banco") or die( 'Erro na seleçao do banco' );
		$query = mysql_query("SELECT * FROM foto_inicio ORDER BY id DESC") or die(mysql_error());
		while($array = mysql_fetch_array($query)){

		echo '<ul id="foto_ini">';
while( $array = mysql_fetch_assoc($query) )
if (file_exists(''.$array['foto'].".jpg")){

       echo "

		<img src='".$array['foto'].".jpg' width='500' height='243' />


	";}
}
echo '</ul>'; 
?> 

 

o que posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dispara por uma class:

 

 echo '<ul class="foto_ini">';

 

e ai no plugin:

$(".foto_ini").cycle({

Compartilhar este post


Link para o post
Compartilhar em outros sites

o javascript é este.

 

porém o teu php está incorreto.

 

não faz sentido você usar laços encaixados, sendo que os 2 whiles procuram o mesmo resource. $query.

 

abra o código fonte HTML Ctrl + U, e entenda oque está ali.

Faça o php gerar o código html corretamente para você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom consegui fazer o esquema das 3 "slides",

mais agora tem como fazer cada slide começar com uma foto diferente sei lá

pq ta abrindo as 3 iguais

 

foi assim que eu consegui fazer como eu queria

<?php 

		$cont = 0;
		mysql_connect("localhost", "banco", "" ) or die( 'Erro na conexao' );
		mysql_select_db("banco") or die( 'Erro na seleçao do banco' );
		$query = mysql_query("SELECT * FROM foto_inicio ORDER BY id DESC") or die(mysql_error());
		while($array = mysql_fetch_array($query)){

		echo '<ul class="foto_ini">';
while( $array = mysql_fetch_assoc($query) )
if (file_exists(''.$array['foto'].".jpg")){

       echo "

		<li><img src='".$array['foto'].".jpg' width='300' height='220' /></li>


	";}	

}
echo '</ul>'; 
?>  
       </div>
<div style="float:left; width:300px; height:220px;" id="tam_slide">
       <?php 

		$cont = 0;
		mysql_connect("localhost", "banco", "" ) or die( 'Erro na conexao' );
		mysql_select_db("banco") or die( 'Erro na seleçao do banco' );
		$query = mysql_query("SELECT * FROM foto_inicio ORDER BY id DESC") or die(mysql_error());
		while($array = mysql_fetch_array($query)){

		echo '<ul class="foto_ini">';
while( $array = mysql_fetch_assoc($query) )
if (file_exists(''.$array['foto'].".jpg")){

       echo "

		<li><img src='".$array['foto'].".jpg' width='300' height='220' /></li>


	";}	

}
echo '</ul>'; 
?>  
       </div>
       <div style="float:left; width:300px; height:220px;" id="tam_slide">
       <?php 

		$cont = 0;
		mysql_connect("localhost", "banco", "" ) or die( 'Erro na conexao' );
		mysql_select_db("banco") or die( 'Erro na seleçao do banco' );
		$query = mysql_query("SELECT * FROM foto_inicio ORDER BY id DESC") or die(mysql_error());
		while($array = mysql_fetch_array($query)){

		echo '<ul class="foto_ini">';
while( $array = mysql_fetch_assoc($query) )
if (file_exists(''.$array['foto'].".jpg")){

       echo "

		<li><img src='".$array['foto'].".jpg' width='300' height='220' /></li>


	";}	

}
echo '</ul>'; 
?>  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... leia novamente o post anterior do William. O problema está no seu PHP. Veja o HTML que está sendo gerado. Corrigindo isto, creio que vai funcionar direitinho.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... leia novamente o post anterior do William. O problema está no seu PHP. Veja o HTML que está sendo gerado. Corrigindo isto, creio que vai funcionar direitinho.

 

Carlos Eduardo

 

eu ja consegui arrumar o html, só que agora eu queria saber como eu faria pra as imagens começar em fotos diferentes,

isso é em PHP ou HTML?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa cara.. mas você triplicou o código!!

 

não faça isso.

Leia sobre DRY (Dont Repeat Yourself)

 

Mostra um print do layout, eu não entendi pq você precisa de 3 slides iguais.

Se você quer que cada um comece numa foto, você precisa definir isso no php, mas ainda assim é estranho termos 3 slides com as mesmas fotos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, com este código que está ali em cima, difícil acreditar que o HTML esteja correto. Você tem 3 vezes o mesmo (exatamente o mesmo) código.

 

while($array = mysql_fetch_array($query)){

                       echo '<ul class="foto_ini">';
while( $array = mysql_fetch_assoc($query) )

Este while de dentro é totalmente sem sentido, já que ele faz exatamente a mesma coisa que o de cima mais, só que faz um dentro do outro. Veja, você tá gerando um UL para cada iteração do while de cima...

 

Faz assim... Depois de executar o código, aperta CTRL + U, pega o código gerado e posta aqui no fórum.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa cara.. mas você triplicou o código!!

 

não faça isso.

Leia sobre DRY (Dont Repeat Yourself)

 

Mostra um print do layout, eu não entendi pq você precisa de 3 slides iguais.

Se você quer que cada um comece numa foto, você precisa definir isso no php, mas ainda assim é estranho termos 3 slides com as mesmas fotos.

 

uhshuahus...

é pq assim, isso que eu estou fazendo é pra empresa onde eu trabalho, e eles querem tres slides com as mesmas fotos so que mostrando em ordens diferentes....

enfim tenho que fazer assim :S

 

segue a imagem:

29ay4jl.jpg

+/- isso ae :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está 'muito inteligente'.. mas vou melhorar teu código:

 

<?php 


mysql_connect("localhost", "banco", "" ) or die( 'Erro na conexao' );
mysql_select_db("banco") or die( 'Erro na seleçao do banco' );

$query = mysql_query("SELECT * FROM `foto_inicio` ORDER BY `id` DESC") or die(mysql_error());


$li = Array();
while( $dados = mysql_fetch_array($query) )
{
	if ( is_file( $dados['foto'].'.jpg') )
	{
		$li[] =  '<li><img src="'.$dados['foto'].'.jpg" width="300" height="220" /></li>';
	}
}


echo '<ul class="foto_ini">';
echo $li[0], $li[1], $li[2];
echo '</ul>';

echo '<ul class="foto_ini">';
echo $li[1], $li[2], $li[0];
echo '</ul>';

echo '<ul class="foto_ini">';
echo $li[2], $li[0], $li[1];
echo '</ul>';	

 

você só precisa melhorar a parte dos echos

php na veia, aí deixo por tua conta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, eu acho que funcionou, mais as imagens nao estão aparecendo, só aparece como se a foto estivesse quebrada ;/

e cada coisa que eu mexo no teu codigo piora uashuauhsuahs

e agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que o William copiou o código mas esqueceu de trocar um pedacinho...

 

$li[] =  '<li><img src="'.$array['foto'].'jpg" width="300" height="220" /></li>';

 

O nome do array que recebe a consulta dentro do laço não é mais $array, e sim $dados. Então:

 

$li[] =  '<li><img src="'.$dados['foto'].'.jpg" width="300" height="220" /></li>';

 

Deve resolver

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

E tava faltando um ponto na imagem.

 

corrigi no meu post, e no do Matias:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok esta rodando perfeitamente, só dps que eu tenho que arrumar com o css :D masi ta beleza

 

só uma coisa pq tipo ali esta para carregar 3 id (se nao me engano é isso) e eu queria que rodassem todos

tem como fazer isso só que em ordens diferentes?

 

echo '<ul class="foto_ini">';
       echo $li[1], $li[2], $li[0];
       echo '</ul>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

é como eu disse cara.. ai é php puro.. ^_^

 

pensa ai.. faz um algoritmo que reordene levando em conta a exibição anterior.

fiz simples e funcional, teu problema agora é de programação server-side.

 

o escopo javascript ja se encerrou faz tempo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá pessoal, tudo bem? Estou usando uma galeria do jquery.cycle.all.js e funciona perfeitamente, porém, ele só faz transação com 9 resultados.


Alguém sabe como fazer para que ele retorne uma quantidade maior de resultados?


Obrigado!

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.