Ir para conteúdo

Arquivado

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

rfamelli

retirar ultima virgula

Recommended Posts

Oi pessoal,

já vi algumas dicas aqui sobre como retirar a ultima virgula em um array, mas nao consegui de jeito nenhum entender como fazer isso no meu script,

alguem pode me ajudar?

 

var data = { 
<?			while($row = mysql_fetch_array($result)) {
$id = $row["id"];
$imagem = utf8_encode($row["imagem_grd"]);
$titulo = utf8_encode  ($row["titulo"]); ?>

		'<? echo "$imagem_grd"; ?>.jpg': { caption: '<? echo "$titulo"; ?>' }, <? }?>};

 

Agradeõ muito desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

a forma mais simples é assim:

<?php

$arr = Array();

while($row = mysql_fetch_array($result)) {
   $id = $row["id"];
   $imagem = utf8_encode($row["imagem_grd"]);
   $titulo = utf8_encode  ($row["titulo"]); 

   $arr[] = '{"'.$imagem_grd.'.jpg": { caption: "'.$titulo.'" }, }'.PHP_EOL;

}//fecha while

echo implode( ',', $arr );

se é q entendi o jSON q você tem q gerar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigada pelas prontas respostas!

 

estranho

mesmo colocando o implode o codigo continuou com uma virgula no final e nao apareceu nada.

 

E outra coisa que no entendi é como (no caso destes codigos que voces me passaram) substituir o "data" no slideshow como mostro no codigo abaixo:

 

Se vocês puderem me ajudar...

 

o codigo completo:

<script>
	window.addEvent('domready', function(){
		var data = { '1.jpg': { caption: 'Villa' }, '2.jpg': { caption: 'Villa' }, '3.jpg': { caption: 'Villa' }, '7.jpg': { caption: 'Praia' }, '8.jpg': { caption: 'Praia' }, '9.jpg': { caption: 'Praia' }, '10.jpg': { caption: 'Praia' }, '11.jpg': { caption: 'Praia' }};


		new Slideshow.KenBurns('kenburns', data, { duration: 3000, height: 264, hu: 'images/', width: 470 });

	});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparentemente ta certo..

'11.jpg': { caption: 'Praia' }};

nnao tem virgula no final não.

 

como ficou teu php ? de q virgula você ta falando ?

 

 

para debugar js, aparte Ctrl+Shift+J no firefox:

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Willian,

obrigada pela ajuda!

 

coloquei assim no php

 

<script>
	window.addEvent('domready', function(){

$arr = Array();

<? while($row = mysql_fetch_array($result)) {
   $id = $row["id"];
   $imagem = utf8_encode($row["imagem_grd"]);
   $titulo = utf8_encode  ($row["titulo"]); 

   $arr[] = '{"'.$imagem.'.jpg": { caption: "'.$titulo.'" }, }'.PHP_EOL;

}//fecha while 
echo implode( ',', $arr );	?>




		new Slideshow.KenBurns('kenburns', <? echo $arr ?>, { duration: 3000, height: 264, hu: 'images/', width: 470 });

	});
</script>

 

 

e aparece assim no html

<script>
	window.addEvent('domready', function(){

$arr = Array();

{"1.jpg": { caption: "Villa" }, }
,{"2.jpg": { caption: "Villa" }, }
,{"3.jpg": { caption: "Villa" }, }
,{"7.jpg": { caption: "Praia" }, }
,{"8.jpg": { caption: "Praia" }, }
,{"9.jpg": { caption: "Praia" }, }
,{"10.jpg": { caption: "Praia" }, }
,{"11.jpg": { caption: "Praia" }, }



		new Slideshow.KenBurns('kenburns', <? echo $arr ?>, { duration: 3000, height: 264, hu: 'images/', width: 470 });
	});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere esse trecho:

$arr[] = '{"'.$imagem.'.jpg": { caption: "'.$titulo.'" }, }'.PHP_EOL;

 

 

para:

 $arr[] = '"'.$imagem.'.jpg": { caption: "'.$titulo.'" }'.PHP_EOL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum,

agora sairam todas as virgulas..<script>

 

window.addEvent('domready', function(){

$arr = Array();

"1.jpg": { caption: "Villa" }
,"2.jpg": { caption: "Villa" }
,"3.jpg": { caption: "Villa" }
,"7.jpg": { caption: "Praia" }
,"8.jpg": { caption: "Praia" }
,"9.jpg": { caption: "Praia" }
,"10.jpg": { caption: "Praia" }
,"11.jpg": { caption: "Praia" }




		new Slideshow.KenBurns('kenburns', Array, { duration: 3000, height: 264, hu: 'images/', width: 470 });

	});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

as virgulas tão ali.. pelo q você postou está certinho.

 

antes ou depois, tanto faz.

se você quiser elas depois, faça assim:

$arr[] = PHP_EOL.'"'.$imagem.'.jpg": { caption: "'.$titulo.'" }';

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe, verdade, as virgulas estao no começo da frase,

 

legal, valeu!

é que como continua nao aparecendo o slide show nao me atentei a isso.

 

e essa é a questao nao consegui substituir o "var data" no script do slide show.

 

veja antes tinha:

 

var data = { '1.jpg': { caption: 'Villa' }...

 

new Slideshow.KenBurns('kenburns', data, { duration: 3000, height: 264, hu: 'images/', width: 470 });

 

eu tentei colocar

new Slideshow.KenBurns('kenburns', <? echo $arr; ?>, { duration: 3000, height: 264, hu: 'images/', width: 470 });

 

e fica aparecendo a palavra "Array" no lugar, lá no html.

 

Você saberia me auxiliar com isso?

Muito obrigada!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá o echo no implode cara.. igualzinho ue:

 

<?php echo implode( ',', $arr ); ?>

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.