Ir para conteúdo

POWERED BY:

Arquivado

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

Teu

[Resolvido] Array no PHP

Recommended Posts

Olá Galera!!

 

 

Estou tentando implementar um script de album de fotos, mas estou tento o seguinte problemas...

 

passar um valor do php para o javascript ta de boa, agora esto meio perdido nessa lógica, segue código abaixo:

 

Javascript

var imagem = new Array();
imagem[0] = "gato_3829_1024x768.jpg";
imagem[1] = "paisagem-natural_3995_1280x800.jpg";
imagem[2] = "amigo-pinguin_3993_1024x768.jpg";
imagem[3] = "the-simpsons-ou-sopranos_3992_1024x768.jpg";
imagem[4] = "skate_3976_1024x768.jpg";
imagem[5] = "3988_1024x768.jpg";
imagem[6] = "astronauta_3977_1024x768.jpg";
imagem[7] = "tigre-branco_3968_1024x768.jpg";
imagem[8] = "voadora_3840_1024x768.jpg";

O código acima é um vetor e tal e manualmente coloca-se a url das imagens em cada um dos vetores.

Segue minha parte do Código PHP.

 

mysql_connect ("localhost", "root");
mysql_select_db ("galeria");
$sql = mysql_query("SELECT * FROM imagens");
$i = mysql_num_rows($sql);

$lista = "SELECT * FROM imagens";
$resultado = mysql_query($lista);

while ($linha = mysql_fetch_array($resultado)){
	
	$foto = $linha['imagem'];
}

Com o código PHP acima eu pego o caminho das imagens que gravei no banco de dados e jogo para a variavel foto.

Peguei o numero de registros da tabela para usar no vetor do javascript que é a variavel

$i
.

Minha dúvida é, como jogar o conteudo dessa variavel

$foto
pra dentro do vetor no javascript?

 

Acho que o problema é como funcionaria a logica do código abaixo:

 

for (var x=0; x<=r; x++) {

	imagem[x] = "caminho da imagem que vem do banco";

}
A cada volta que o for fizer aparecer uma imagem, entendeu!?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!! Beleza?

 

Cara, é só você gerar o Javascript com o PHP:

 

/* Crie o objeto array, no Javascript */
<script type="text/javascript">
var imagem = new Array();

<?php
// buscando os dados no banco (esse código é seu, certo?)
mysql_connect ("localhost", "root");
mysql_select_db ("galeria");

$sql = mysql_query("SELECT * FROM imagens");
$resultado = mysql_query($sql);

/* Esse aqui não precisa
$i = mysql_num_rows($sql);
*/

$i = 0;
while ($linha = mysql_fetch_array($resultado)){
        // agora monta o array do javascript
        echo "imagem[".$i."] = ".$linha['imagem'];
        $i++;
}

?>

</script>

E pronto, você tem seu array javascript contendo a url das imagens.

 

OBS: Note que a rotina PHP foi executada entre as tags <script> e </script>.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rodrigo, beleza e ai!?!

 

Cara, valeu pela dica, mas quando fui executar o código aqui não apareceu nenhum resultado. Será que é porque a variavel imagem do javascript está sendo ultilizada em outras funções dentro do código do javascript?

 

Tipo:

 

Código que vem primeiro:


var imagem = new Array();
<?php
// buscando os dados no banco (esse código é seu, certo?)
mysql_connect ("localhost", "root");
mysql_select_db ("galeria");
$sql = mysql_query("SELECT * FROM imagens");

/* Esse aqui não precisa
$i = mysql_num_rows($sql);
*/

$lista = "SELECT * FROM imagens";
$resultado = mysql_query($lista);
$i = 0;
while ($linha = mysql_fetch_array($resultado)){
        // agora monta o array do javascript
        echo "imagem[".$i."] = ".$linha['imagem'];
        $i++;
}

?>

Continuação do script....

var carregar = new Array();


function carregarImagens() { 
       for (var i=0; i<imagem.length; i++) {  
	                 carregar[i] = new Image();  
					 carregar[i].src = imagem[i]; 
					 document.getElementById("imgQuadro").innerHTML = "Carregando..."; 
					 document.getElementById("imgTumb"+i).innerHTML = "Carregando..."; 
					 window.setTimeout("verificaCarregamento("+i+")",100); 
		 }
	}
	
	function verificaCarregamento(imgID) { 
	    if(carregar[imgID].complete ) {
		  document.getElementById("imgTumb"+imgID).innerHTML = '<img src="'+carregar[imgID].src+'" width="120" height="90" onclick=abrirImagem('+imgID+')>';
			   if (imgID == 0) {
				   document.getElementById("imgQuadro").innerHTML = '<img width="600" height="500" id="imgQuadro" src="'+imagem[imgID]+'">';
		       }
		}else{ 
		           window.setTimeout("verificaCarregamento("+imgID+")", 100);
				  }
			}
			
function abrirImagem(imgID) { 
	document.getElementById("imgQuadro").innerHTML = '<img width="600" height="500" id="imgQuadro" src="'+imagem[imgID]+'">';
	}
window.onload = carregarImagens;
</script>

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bicho, falha nossa!!

 

Vamos tentar outra vez...

 

$i = 0;
while ($linha = mysql_fetch_array($resultado)){
        // agora monta o array do javascript
        echo "imagem[".$i."] = '".$linha['imagem']."';";
        $i++;
}

Veja se vai agora... Eu esqueci de colocar aspas no valor que vem do banco, já que o array imagem recebe uma string. Também esqueci do ";" no final... hehehe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

RodrigoOoOoO

 

Cara, nem sei como te agradecer, funcionou perfeito!!

Muito obrigado, muito obrigado mesmo brother!!! Nussa, eu estava a um tempo tentando fazer sabe, quebrei a cabeça muito mesmo ai quando vi que não daria conta...valeu mesmo, muito obrigado!!

 

Grande abraçO!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que isso, cara... Eu sei bem como são essas coisas. Já passei por tudo isso, e também tive grande ajuda do pessoal aqui do imasters, só tô retribuindo.

 

Quando precisar, tamos aí.

 

Abração!!

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.