Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Henrique

[Resolvido] Efetuar consulta ao banco, preciso de dicas

Recommended Posts

Olá pessoas,

 

Seguinte, estou fazendo uma consulta ao banco de dados, para isto envio o valor do flash para o PHP efetuo a consulta dou um echo e resgato com LoadVars, sem problema em fazer isto, só que tem um porém, o código php para funcionar deve ser executado ou seja a página deve ser aberta para executar senão o que me retorna no flash são as variáveis e não o conteúdo das mesmas certo!

 

Então este é meu problema como faço isto, já fiz vários testes como: Deixar as variáveis no php já declaradas com valores e funciona perfeitamente mas aí seria o mesmo que eu fazer um txt ou um xml mas não pode ser, como tenho que enviar uma id para consulta ao banco não rola porque a página já foi executada no caso eu estou colocando o script na index.php mesmo, tentei colocar em uma página separada ex teste.php onde era feita a consulta e o mesmo ocorre, isto porque a página não é executada e sim consultada somente.

 

A questão é como faço funcionar esta consulta? Um iframe ? Como?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não entendi o problema

 

 

essa é a maneira que o flash trabalha, o cara abre um pagina com o swf, e esse swf lê outra pagina php, passando ou não parâmetros,

e essa pagina devolve pra ele os dados

 

o que exatamente você quer mudar nessa estrutura?

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não quero mudar nada, "essa é a maneira que o flash trabalha" eu sei que é assim, mas não está funcionando a consulta, eu mando uma variável para o php e ele não retorna os valores do banco e sim o nome da variável, isto poque a página não está sendo executada apenas requisitada, esquece o banco de dados se eu simplesmente fazer isso no php:

 

$teste="testando";

echo "teste=".$teste;

 

O flash não consegue ler o valor daariável $teste ele me retorna $teste

se eu fizer isto:

echo "teste=testando";

 

Vem certo.

 

Optei em fazer a consulta e gerar um xml funciona porém não da para ser assim, pois depende do servidor atualizar muito rápido o xml para vir a informação correta o que preciso é que o PHP consulte e me retorne o valor e não está fazendo isto.

 

eu não entendi o problema

 

 

essa é a maneira que o flash trabalha, o cara abre um pagina com o swf, e esse swf lê outra pagina php, passando ou não parâmetros,

e essa pagina devolve pra ele os dados

 

o que exatamente você quer mudar nessa estrutura?

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom o problema não é este pois estou testando em servidor local e já testei online, talvez seja pelo seguinte, eu tenho um swf externo que é chamado e listado 10 imagens cada uma com seu id vindo de um xml listado do banco, quando clico em uma delas executo uma função em level0 que faz o envio desta id para a página de processamento php a função é esta: valor é a variável que a função recebe:

 

var vars:LoadVars = new LoadVars();

vars.id = valor;

vars.sendAndLoad("pagina.php",vars,"POST");

 

Isto está funcionando porque consigo gerar um XML com isto. ( já me liguei em um lance se a pagina.php não estivesse rodando o XML não poderia ser gerado obviamente! ).

 

Feito isso na mesma função ela chama outro swf externo para vizualização dos dados desta ID, então neste swf tenho outra função para resgatar os dados:

 

consulta.onLoad = function(sucess) {

if (sucess == true) {

conteudo = this.conteudo; // para levar o texto para o campo dinâmico

}

};

 

Será que o problema não é de eu estar fazendo o envio e o recebimento separadamente, teoricamente ele executaria apágina php e os dados ficariam lá, mas parece que quando é requisitada a pagina.php para consulta os dados apagaram já.

 

 

 

 

a tha

 

 

você tem que testar o swf rodando de um servidor web, ou colocar o endereço completo do load, tipo

 

loadVars.load("http://localhost/pagina.php")

 

 

deve ser esse o problema

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que o problema não é de eu estar fazendo o envio e o recebimento separadamente, teoricamente ele executaria apágina php e os dados ficariam lá, mas parece que quando é requisitada a pagina.php para consulta os dados apagaram já.

 

pode ser esse o problema, é possivel fazer isso:

 

 

var vars:LoadVars = new LoadVars();
var consulta:LoadVars = new LoadVars();
vars.id = valor;
vars.sendAndLoad("pagina.php",consulta,"POST");


consulta.onLoad = function(sucess) {
   if (sucess == true) {
	 conteudo = this.conteudo; // para levar o texto para o campo dinâmico
   }
};

 

assim o envio e recebimento ocorrem de uma vez

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

O problema é o que eu escrevi mesmo, não é possível executar o envio em swf e a consulta em outro, a consulta é perdida, isto deve ser feito na mesma função, então isto está resolvido, mas tenhyo um problema em fazer a consulta, como eu disse no início criei uma função para troca de swf resumindo o ID fica na index ou _level0, então preciso passar esta variável para p _level1, normalmente quando faço isto é da seguinte forma e funciona:

 

_level0:

 

var variavel = "valor";

 

_level1:

 

trace(_level0.variavel);

O problema é que a variável está dentro de uma função e desta forma não consigo resgatá-la, então alguém sabe uma forma de eu passar a variável junto com a chamada do swf ex: loadMovie("swfexterno.swf?valor=variavel",1); , desta forma não funciona. Ou executar eu executar a função no _level1 a partir do level0? Assim eu conseguiria passar a variável e fazer o que preciso?

 

Obrigado;

 

 

 

 

Será que o problema não é de eu estar fazendo o envio e o recebimento separadamente, teoricamente ele executaria apágina php e os dados ficariam lá, mas parece que quando é requisitada a pagina.php para consulta os dados apagaram já.

 

pode ser esse o problema, é possivel fazer isso:

 

 

var vars:LoadVars = new LoadVars();
var consulta:LoadVars = new LoadVars();
vars.id = valor;
vars.sendAndLoad("pagina.php",consulta,"POST");


consulta.onLoad = function(sucess) {
   if (sucess == true) {
	 conteudo = this.conteudo; // para levar o texto para o campo dinâmico
   }
};

 

assim o envio e recebimento ocorrem de uma vez

 

 

[]´s

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declare a variavel fora da função......

 

var variavel:String = new String();

 

e depois chame-a onde você quiser...

 

ou utilize _global.variavel = "valor"; dentro da função, mas acho que mesmo assim capaz de dar erro... fora não ser recomendado usar _global.....

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw,

problema resolvido.

 

 

Declare a variavel fora da função......

 

var variavel:String = new String();

 

e depois chame-a onde você quiser...

 

ou utilize _global.variavel = "valor"; dentro da função, mas acho que mesmo assim capaz de dar erro... fora não ser recomendado usar _global.....

 

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.