Ir para conteúdo

POWERED BY:

Arquivado

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

fael_christofano

[Resolvido] Flash, Pegando o valor da URL

Recommended Posts

Meu problema é o seguinte: Tenho 3 arquivos!!

 

pesquisa.swf // arquivo swf, como formado tipo google para fazer pesquisa dentro do site, nele tenho uma mc dinamico q pega todas as paginas de pesquisa

pesquisa.php // Esse arquivo é para verifiar se o usuário está logado e exibir a pagina toda formatada com o .swf, esse é o arquivo q o usuário irá abrir

pesquisa_dados.php // faz todo o algoritimo para exibir os dados da pesquisa, datas, resumos, etc;...(todos os dados q preciso)

 

Cada pagina de pesquisa retorna 8 resultados(na pagina 1 exibe resultados de 1 a 8, na pagina 2 de 9 a 16, pagina 3 de 17 a 24, e assim por diante) e conforme você clica em um das paginas o swf é carregado com o conteúdo da pesquisa!! Todo esse tratamento é feito no pesquisa_dados.php, depois preciso q os resultados sejam exibidos no arquivo swf.. Aí é q está o erro, ele não exibe porque ao fazer o loadVars ele pega o nome do arquivo sem passagem de variáveis:

 

var recebe:LoadVars = new LoadVars();
recebe.load("pesquisa_dados.php");
recebe.onLoad = function(ok) {

Se vou e altero a funçãoa acima, inserindo variaveis na url, ex:

 

var recebe:LoadVars = new LoadVars();
recebe.load("pesquisa_dados.php?inicio=9&final=16");
recebe.onLoad = function(ok) {

Aí a função retorna da maneira q gostaria, mas o ideal é q esse link seja dinamico, onde os valores 9 e 16 sejam substituidos por variaveis, tipo:

 

var recebe:LoadVars = new LoadVars();
recebe.load("pesquisa_dados.php?inicio=ini&final=fim");
recebe.onLoad = function(ok) {

E aí, como fazer isso??

 

No pesquisa_dados.php, mando os dados pra o flah da seguinte maneira:

 

///////////////// Criando o menu da paginação para acesso aos resultados da pesquisa///////////////////////////

$link="Paginas: ";
$numero_link=1;
for ($i=1;$i<=$total_linha['total'];$i=$i+8) //8 é porque são listados 8 recados de cada vez
{
  $fim=$i+8;
  $endereco = "$PHP_SELF?inicio=$i&final=$fim";
  $link .= '<font face="Verdana" size="11" color="#000000"><b><i><a href="'.$endereco.'">' . $numero_link . '</a></i></b></font> ';
	  $numero_link++;
}	
 print "&envia_link=$link";
//////////////////////////////////////////////////////////////////////

 

E aí?? como pego os valores das variavéis q estão na url??

 

Agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar da longa explicação, ainda fiquei meio perdido... e acho que isso está meio incoerente...

O PHP faz a pesquisa e retorna o resultado para o Flash - e você monta na verdade a paginação dentro do Flash, sendo que no menu dinâmico o item 1 se refere aos registros 1 ao 8 e assim por diante... Se for isso, você já sabe o valor das variáveis "inicio" e "final" em cada item do menu, então porque quando fazer a chamada à pagina através do LoadVars, não informa diretamente os valores?

Em cada item do menu (paginação), armazene a respectiva variável "inicio" e "final", e quando efetuar a chamada, faça assim:

recebe.load("pesquisa_dados.php?inicio=" + varIniFlash + "&final=" + varFimFlash);

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar da longa explicação, ainda fiquei meio perdido... e acho que isso está meio incoerente...

O PHP faz a pesquisa e retorna o resultado para o Flash - e você monta na verdade a paginação dentro do Flash, sendo que no menu dinâmico o item 1 se refere aos registros 1 ao 8 e assim por diante... Se for isso, você já sabe o valor das variáveis "inicio" e "final" em cada item do menu, então porque quando fazer a chamada à pagina através do LoadVars, não informa diretamente os valores?

Em cada item do menu (paginação), armazene a respectiva variável "inicio" e "final", e quando efetuar a chamada, faça assim:

recebe.load("pesquisa_dados.php?inicio=" + varIniFlash + "&final=" + varFimFlash);

Abs.

É isso mesmo, só q no flash eu monto só o Design de como será exibido o resultado da pesquisa, a paginação eu monto no PHP q lê todos os dados e envia para o Flash. Os valores das variáveis "inicio" e "final" vem do PHP pelo url:

 

$endereco = "$PHP_SELF?inicio=$i&final=$fim";

 

O q não consigo, é ler as variáveis no url antes de fazer a chamada.

 

No seu exemplo você usou:

recebe.load("pesquisa_dados.php?inicio=" + varIniFlash + "&final=" + varFimFlash);

Mas como farei para atribuir o valor q está na url para as variáveis varIniFlas e varFimFlash??

 

Já o agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa passar somente as variáveis para o Flash, ex do PHP:

$endereco = "&inicio=$inicio&final=$fim";
print $endereco;
E no Flash, defina novas variáveis com estes valores:

varIniFlash = inicio;
varFimFlash = final;

E quando montar o seu menu dinâmico, as mesmas variáveis terão valores diferentes para cada item, e quando for chamar novamente a página, utilize o cód que postei anteriormente. (Claro que você deve tratar no PHP o envio de todas as variáveis (paginação) para o Flash para montar seu menu).

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Public2004!! Muito obrigado pela ajuda, mas a questão do problema é:

 

Como que faço para pegar o valor da variável vinda da url, antes de fazer a chamada:

 

recebe.load("pesquisa_dados.php?inicio=" + varIniFlash + "&final=" + varFimFlash);

 

Quando eu faço a chamada acima, varIniFlash e varFimFlash já devem ter os valores que irão receber, só q esses valores vem via url do PHP! Então preciso deles antes da chamda!!

 

Resumindo, preciso pegar os valores da url e depois fazer a chamada!!

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então caro amigo fael.......

 

Não faz....

 

Faça um load antes desse load..... para que você possa fazer isso ><

Ou seja carregue os dados antes de carregar o conteudo que você quer.....

 

Faça 2 loads =/

 

Pois o flash não carrega variaveis sem ser pelo metodo load... esse é o unico caminho que o flash carrega dados... com php... pode se usar um metodo de javascript que envie os dados para o flash... mas mesmo assim o php vai rodar antes do javascript.....

 

Então acredito que você terá de fazer dois loads para conseguir seu objetivo...

 

Pelo menos penso assim... não sei qual a sua intenção em fazer um site assim... nem como quer fazer... mas pelo que explicou acredito que seja isso que deve ser feito

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada por flashVars, é um modo de passar as varariaveis para o flash, no caso com PHP você pega da URL e joga no html para o flash pegar

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Galera!! Deu certo usando FlashVars, já havia ouvido falar, nunca havia usado nem tinha idéia de como usar.. dei um pesquisa e foi mais fácil do que imaginava, ficou assim:

No PHP:

 

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="862" height="550">

<param name="movie" value="mural_conteudo.swf">

<? $iniciar= $_GET["inicio"];?>

<PARAM NAME=FlashVars VALUE="<?php echo "&inicio=$iniciar"; ?>">

<param name="quality" value="high">

<embed src="mural_conteudo.swf" FlashVars="<?php echo "&inicio=$iniciar"?> quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="862" height="550"></embed>

</object>

 

E no Flash:

 

var1=inicio;

var recebe:LoadVars = new LoadVars();

recebe.load("mural_dados.php?inicio="+var1);

 

Agradeço a quem dedicou seu valioso tempo para ler minhas dúvidas e responder!! Tenham certeza que retribuirei, talvez não aqueles que me ajudaram, pois estão niveis acima de mim sobre conhecimento em flash e php, mas novo usuários que possam ter novas dúvidas!!

 

Abraços.

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.