Curso AS3

Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir

Interação: Flash, PHP e MySQL

Neste artigo realizaremos a interação do Flash com o PHP e MySQL de uma forma muito simples. O único requisito é uma noção básica de PHP e MySQL.

Antes de iniciarmos veja o exemplo do aplicativo que foi desenvolvido para a elaboração deste artigo.

Para iniciar vamos ver como funciona o retorno de dados do PHP para Flash. Abra um novo arquivo PHP e salve-o como ‘retorno.php’, o conteúdo é apenas a impressão de texto no formato de variável igual ao valor.

<?php
 
echo "teste=Imasters";
 
?>

Agora vamos ao Flash resgatar este valor através da classe LoadVars.

//objeto LoadVars.
var retorno:LoadVars = new LoadVars();
//carrega o arquivo PHP 'retorno.php'.
retorno.load('http://localhost/retorno.php');
//ao arquivo ser carregado a função 'carregarDados' é chamada.
retorno.onLoad = carregarDados;
 
function carregarDados():Void{
	//exibe o valor da variável 'teste' declarada no arquivo PHP na janela Output.
	trace(this.teste);
};

Em “retorno.load(’http://localhost/retorno.php’);” o endereço poderia ser apenas ‘retorno.php’, mas para que rode no ambiente de teste do Flash, é necessário colocar junto ao endereço do servidor para que rode a partir do mesmo.

Exibindo dados do banco MySQL no Flash

O processo é o mesmo descrito acima, a única diferenção é que no PHP os dados virão do banco de dados.

Primeiramente vamos criar o db ‘flashInteracao’, com uma tabela ‘guestbook’ de três campos: id, nome, mensagem. A SQL para a criação da tabela ‘guestbook’ é a seguinte:

CREATE TABLE `guestbook` (
`id` BIGINT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL ,
`mensagem` VARCHAR( 255 ) NOT NULL 
) ENGINE = innodb;

SQL para inserir alguns dados na tabela ‘guestbook’.

INSERT INTO `guestbook` ( `id` , `nome` , `mensagem` ) VALUES
(NULL , 'Popai', 'Marinheiro, coma espinafre!'),
(NULL , 'Pernalonga', 'Velhinho, eu consegui desenvolver o sistema. =)'),
(NULL , 'Calvin', 'Cadê o Haroldo?');

O script para a conexão com o db. Altere o valor das constantes ‘DB_USUARIO, DB_SENHA e DB_HOST’ conforme suas configurações e salve-o como ‘conexao.php’.

<?php
 
//constantes com os dados do db.
define('DB_NOME', 'flashInteracao');
define('DB_USUARIO', 'root');
define('DB_SENHA', '');
define('DB_HOST', 'localhost');
 
//conecta ao MySQL.
$conexao = mysql_connect(DB_HOST, DB_USUARIO, DB_SENHA) or die ('Erro ao conectar ao MySQL: ' . mysql_error());
//conectar ao db  'flashInteracao'.
$conexaoDb = mysql_select_db(DB_NOME, $conexao) or die ('Erro ao conectar a base de dados: ' . mysql_error());
 
?>

O script PHP responsável por retornar os dados, salve-o como ‘retorno.php’.

<?php
 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Data no passado
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Sempre modificado
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
//os cabeçalhos acima evitam que o arquivo seja colocado em cache, subscrevendo quaisquer configurações do usuário.
 
//inclui o script de conexão.
require_once('conexao.php');
 
//resgatando os dados do db 'guestbook'.
$sql = "SELECT id, nome, mensagem FROM guestbook";
//através da função mysql_query(), a sql é executada.
$query = mysql_query($sql);
 
$dados = ''; //variável responsável por armazenar o resultado a cada loop.
$nLoop = 0; //variável responsável por armazenar o número total de loops.
 
//a função mysql_fetch_array() gera um array com o resultando, e o while foi usado para colocar todos os resultados na variável '$dados'
//já no formato em que o Flash reconheça (variavel = valor), além do caractere '&' para separarem as variáveis.
while($n = mysql_fetch_array($query)){
    $dados .= '&id' . $nLoop . '=' . $n['id'];
    $dados .= '&nome' . $nLoop . '=' . $n['nome'];
    $dados .= '&mensagem' . $nLoop . '=' . $n['mensagem'];
    $nLoop++; //soma 1 a cada loop.
};
 
//imprime os dados obtidos no loop e o codifica para UFT-8
//e em seguida concatena (une) o número total de loops para que seja impresso junto aos dados.
echo utf8_encode($dados) . '&nLoop=' . $nLoop;
 
?>

Agora o actionscript fica da seguinte forma:

//objeto LoadVars.
var retorno:LoadVars = new LoadVars();
//carrega o arquivo PHP 'retorno.php'.
retorno.load('http://localhost/retorno.php');
//ao arquivo ser carregado a função 'carregarDados' é chamada.
retorno.onLoad = carregarDados;
 
function carregarDados():Void{
	//executa um loop até chegar ao número total de resultados.
	for(var n:Number = 0; n < this.nLoop; n++){
		trace(this['id' + n] + ' - ' + this['nome' + n] + ': ' + this['mensagem' + n]);
	};
};

Inserindo os dados em um layout

Ok, agora que os dados já estão sendo retornados, vamos inserí-los em um layout.

Interação do Flash com PHP e MySQL

O actionscript fica da seguinte forma:

//objeto LoadVars.
var retorno:LoadVars = new LoadVars();
//carrega o arquivo PHP 'retorno.php'.
retorno.load('http://localhost/retorno.php');
//ao arquivo ser carregado a função 'carregarDados' é chamada.
retorno.onLoad = carregarDados;
 
function carregarDados():Void{
	listaNomes.removeAll(); //limpa o listBox.
	//executa um loop até chegar ao número total de resultados.
	for(var n:Number = 0; n < this.nLoop; n++){
		//adiciona o nome como etiqueta ao listbox, e o número do loop com valor.
		listaNomes.addItem({label:this['nome' + n], data:n});
	};
};
 
//objeto ouvinte do listbox 'listaNomes'.
var listObjt:Object = new Object();
//Quando um novo item for selecionado o evento change é chamado.
listObjt.change = function(mudar:Object){
	//grava a ID do item selecionado na variável 'listIdSelecionado'.
	listIdSelecionado = mudar.target.value;
 
	//insere o nome selecionado no textField 'nomeText'.
	nomeText.text = retorno['nome' + listIdSelecionado];
	//insere a mensagem selecionado no textField 'mensagemText'.
	mensagemText.text = retorno['mensagem' + listIdSelecionado];
};
//registra o objeto 'listObjt' como ouvinte.
listaNomes.addEventListener("change", listObjt);

Scripts PHP para a Atualização, Inserção e Exclusão de dados no db.

Script PHP para a atualização dos dados, salve-o como ‘update.php’.

<?php
 
//inclui o script de conexão.
require_once('conexao.php');
 
//resgatando os dados vindos do Flash e os converte para ISO-8859-1.
$id = utf8_decode($_POST['id']);
$novoNome = utf8_decode($_POST['nome']);
$novaMensagem = utf8_decode($_POST['mensagem']);
 
//sql responsável por atualizar o db.
$sql = "UPDATE guestbook SET nome='$novoNome', mensagem='$novaMensagem' WHERE id='$id'";
 
//através da função mysql_query() a query é executada.
$query = mysql_query($sql);
 
//retorna 1 (true) ou 0 (false), será usado para verificar no Flash se o SQL foi completado com sucesso.
echo 'sucesso=' . $query;
 
?>

Script PHP para a inserção de novos dados, salve-o como ‘inserir.php’.

<?php
 
//inclui o script de conexão.
require_once('conexao.php');
 
//resgatando os dados vindos do Flash e os converte para ISO-8859-1.
$id = utf8_decode($_POST['id']);
$novoNome = utf8_decode($_POST['nome']);
$novaMensagem = utf8_decode($_POST['mensagem']);
 
//sql responsável por inserir novos dados no db.
$sql = "INSERT INTO guestbook (nome, mensagem) VALUES ('$novoNome', '$novaMensagem')";
 
//através da função mysql_query() a sql é executada.
$query = mysql_query($sql);
 
//retorna 1 (true) ou 0 (false), será usado para verificar no Flash se o SQL foi completado com sucesso.
echo 'sucesso=' . $query;
 
?>

Script PHP para a exclusão de dados, salve-o como ‘excluir.php’.

<?php
 
//inclui o script de conexão.
require_once('conexao.php');
 
//resgatando os dados vindos do Flash e os converte para ISO-8859-1.
$id = utf8_decode($_POST['id']);
 
//sql responsável pela exlusão de dados no db.
$sql = "DELETE FROM guestbook WHERE id='$id'";
 
//através da função mysql_query() a query é executada.
$query = mysql_query($sql);
 
//retorna 1 (true) ou 0 (false), será usado para verificar no Flash se o SQL foi completado com sucesso.
echo 'sucesso=' . $query;
 
?>

E por fim o actionscript final:

//objeto LoadVars.
var retorno:LoadVars = new LoadVars();
//carrega o arquivo PHP 'retorno.php'.
retorno.load('http://localhost/retorno.php');
//ao arquivo ser carregado a função 'carregarDados()' é chamada através do evento onLoad.
retorno.onLoad = carregarDados;
 
function carregarDados():Void{
	listaNomes.removeAll(); //limpa o listBox.
	//executa um loop até chegar ao número total de resultados.
	for(var n:Number = 0; n < this.nLoop; n++){
		//adiciona o nome como etiqueta ao listbox, e o número do loop com valor.
		listaNomes.addItem({label:this['nome' + n], data:n});
	};
};
 
//objeto ouvinte do listbox 'listaNomes'.
var listObjt:Object = new Object();
//Quando um novo item for selecionado o evento change é chamado.
listObjt.change = function(mudar:Object){
	//grava a ID do item selecionado na variável 'listIdSelecionado'.
	listIdSelecionado = mudar.target.value;
 
	//insere o nome selecionado no textField 'nomeText'.
	nomeText.text = retorno['nome' + listIdSelecionado];
	//insere a mensagem selecionado no textField 'mensagemText'.
	mensagemText.text = retorno['mensagem' + listIdSelecionado];
 
	habilitar(false); //desabilita o botão 'btnExecutar' e os textFields 'nomeText' e 'mensagemText'.
	status.text = 'OK'; //insere na caixa de texto 'status' a palavra 'OK'.
};
//registra o objeto 'listObjt' como ouvinte.
listaNomes.addEventListener("change", listObjt);
 
//objeto loadVars
var lvguestbook:LoadVars = new LoadVars();
	//função chamada após o arquivo PHP ser carregado.
	lvguestbook.onLoad = function(){
		//é adicionado ao textField, se 'sucesso' for 'true', 'sucesso', caso contrário 'Erro'.
		status.text = this.sucesso ? 'SUCESSO' : 'ERRO';
 
		atualizaListBox(); //função responsável por atualizar o listBox.
	};
 
//função a ser chamada ao clicar no botão 'btnExecutar'.
function enviarReceberDados():Void{
	lvguestbook.id = retorno['id'+ listIdSelecionado]; //envia o id.
	lvguestbook.nome = nomeText.text; //envia o nome.
	lvguestbook.mensagem = mensagemText.text; //envia a mensagem.
	lvguestbook.sendAndLoad(urlPHP, lvguestbook, 'POST'); //envia as variável e carrega o arquivo PHP.
};
 
function habilitar(valor:Boolean):Void{
	//habilita ou desabilita a edição dos textFields 'nomeText' e 'mensagemText'.
	nomeText.editable = valor;
	mensagemText.editable = valor;
	//habilita ou desabilita o botão 'btnExecutar'.
	btnExecutar.enabled = valor;
};
habilitar(false); //desabilita o botão 'btnExecutar' e os textFields 'nomeText' e 'mensagemText'.
 
//função do botão inserir
function funcInserir():Void{
	habilitar(true); //habilita o botão 'btnExecutar' e os textFields 'nomeText' e 'mensagemText'.
 
	//limpa os textFields 'nomeText' e 'mensagemText'.
	nomeText.text = '';
	mensagemText.text = '';
 
	//seta o arquivo PHP a ser usado.
	urlPHP = 'http://localhost/inserir.php';
	status.text = 'INSERINDO'; //insere na caixa de texto 'status' a palavra 'INSERINDO'.
};
 
//função do botão Editar
function funcEditar():Void{
	habilitar(true); //habilita o botão 'btnExecutar' e os textFields 'nomeText' e 'mensagemText'.
 
	//seta o arquivo PHP a ser usado.
	urlPHP = 'http://localhost/update.php';
	status.text = 'EDITANDO'; //insere na caixa de texto 'status' a palavra 'EDITANDO'.
};
 
//função do botão Exluir
function funcExcluir():Void{
	//seta o arquivo PHP a ser usado.
	urlPHP = 'http://localhost/excluir.php';
 
	enviarReceberDados(); //chama função 'enviarReceberDados()'.
};
 
//função responsável por atualizar o listBox após os dados serem atualizados.
function atualizaListBox():Void{
	//recarrega o arquivo PHP 'retorno.php'.
	retorno.load('http://localhost/retorno.php');
	//ao arquivo ser carregado a função 'carregarDados()' é chamada através do evento onLoad.
	retorno.onLoad = carregarDados;
 
	habilitar(false); //desabilita o botão 'btnExecutar' e os textFields 'nomeText' e 'mensagemText'.
 
	//limpa os textFields 'nomeText' e 'mensagemText'.
	nomeText.text = '';
	mensagemText.text = '';
};
 
btnInserir.onRelease = funcInserir; //seta a função do botão 'btnInserir'.
btnEditar.onRelease = funcEditar; //seta a função do botão 'btnEditar'.
btnExcluir.onRelease = funcExcluir; //seta a função do botão 'btnExcluir'.
btnExecutar.onRelease = enviarReceberDados; //seta a função do botão 'btnExecutar'.

Neste exercício simplifiquei o máximo possível e não deixei o foco do artigo, por este motivo não foi aidicionado verificações nos textFields e não houveram otimizações no layout e na forma com que se efetuam as operações para uma melhor usabilidade, o que poderia deixar o desenvolvimento complexo e dificultando o entendimento do assunto proposto.

Baixar o arquivo fonte (320kb).

81 Responses to “Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir”

  1. William Says:

    Kara, vc ta de parabéns!!!

    Ainda não tive tempo pra testar e programar tudo , mas a explicação ta ótima.

    Era justamente isso que eu tava procurando essa semana na net e não encontrei.

    Sucesso!!!
    e Big Abraço

  2. luciano Says:

    Ola, gostei muito do seu trabalho, queria saber se vc pode me mandar esse exemplo que vc fez, pq eu fiz mais ta dando erro, e outra coisa vc da aulas????
    estou interesado em aula de flash!!!

  3. William Says:

    Kara eu testei de tudo quanto é geito mas não funcionou, como o Luciano pediu ai em cima, seria uma boa se vc postasse o Fla desse seu exemplo

    Se possivel manda por e-mail pra mim ok?

    kemerastudios@hotmail.com

    Abração kara e boa sorte!!!

  4. Lili Says:

    Olá!

    Testei e tb não funcionou …
    Pode enviar para mim tb o fla do exemplo??

    lilianiramos@yahoo.com.br

  5. Marco Gonçalves Says:

    Boas a todos.
    Sou iniciante nestas coisas e a questão do SQL está a dar a volta à minha cabeça.
    Tb não consegui colocar isso a funcionar.
    Se conseguirem dar uma ajudinha. Neste momento só gostava de perceber essas ligações entre flash e SQL por forma a resolver algumas questões nos sites.
    Um grande abraço

  6. Erick Souza Says:

    Adicionei o link para download do arquivo fonte.

  7. Guilherme Says:

    Erick, tudo bom?

    cara, muito bom o tutorial, baixei o arquivo fonte.
    Parabéns.

    Somente uma única dúvida:
    Quando você clica em algum item da ListBox, dá uma animaçãozinha de fundo na cor verde, como se estivesse crescendo o background.

    Aonde vc define essa animação? Em alguma página PHP ou no ActionScript?

    Abraços, e muito obrigado.

  8. Erick Souza Says:

    Oi Guilherme,
    Esta animação é própria do componente listBox.

  9. Guilherme Says:

    Bom dia, tudo bom Erick?

    realmente. Eu testei e a animação é própria do componente.
    Só uma dúvida… Ela está em tons de verde. Essa cor é default? É possível mudar essa cor?

    ….

    Mudando de assunto.
    Eu tentei usar o seu tutorial, apanhei um pouco. Na verdade o que eu preciso não é nem isso…
    Eu tenho um sistema em PHP que envia informações e grava em banco de dados.
    Eu só preciso que o meu flash leia essas informações do banco.
    Vc tem algum tutorial específico?

    Muito obrigado.

  10. Erick Souza Says:

    Oi Guilherme,

    O verde é o default, mas você pode alterar utilizando o método “setStyle()”:

    instanciaDoComponete.setStyle("themeColor", "haloBlue");
    //utilize "haloGreen" ou "haloBlue" ou "haloOrange"
     
    //ou o código da cor
    instanciaDoComponete.setStyle("themeColor", 0xFF0000);
     
    //utilizando a propriedade _global é aplicado em todos os componentes
    _global.style.setStyle("themeColor", "haloBlue");

    Sobre ler dados do banco, nesta mesma página logo no início é abordado sobre o assunto e em seguida o tópico “Exibindo dados do banco MySQL no Flash”, detalha em específico em relação ao db MySQL.

  11. Henrique Says:

    Interessante o artigo, mas queria deixar aqui uma sugestão:
    Acredito que vc deva conhecer tb, o AMFPHP é uma excelente alternativa para a comunicação Flash + PHP. Talvez alguns artigos sobre ele seriam interessantes tb.

  12. vitor Says:

    muito bom seu blog ja vai ficar nos favoritos parabéns :lol:

  13. Betobs Says:

    :?: Aí, Erick. Muito bem cara! Eu estive pesquisando para encontrar algo de que preciso e é o seguinte:
    eu queria desenvolver um esquema de páginação em um site em flash para um amigo. Mas eu queria fazer uma página em que o swf que só ele tivesse acesso e que enviasse os dados da página para o PHP que gravasse em um TXT. Sendo assim, o PHP enterpretaria esse TXT e o exibiria no swf principal. De forma que facilitaria para atualizar os textos. Como meu amigo tem um conhecimento curto de informática, não daria nem pra ensinar ele a mexer apenas no TXT no servidor. Assim eu desconheço essa possibilidade e se você puder colocar um tuto ou algum exemplo de como se faz isso, louvarei mesmo cara!

  14. Betobs Says:

    Promete que vai tentar me ajudar? :roll:

  15. Erick Souza Says:

    Oi Betobs,
    A parte de PHP e Flash você já deve ter lido aqui, para criar e manipular txts através do PHP pesquise sobre as funções fopen(), fwrite(), fread(), filesize(), fclose(), copy(), unlink() e file_exists().

    Referências e exemplos você encontra no próprio manual do PHP:
    http://www.php.net/manual/pt_BR/
    Boa leitura.

  16. Betobs Says:

    Valeu. Muito obrigado!

  17. Reinaldo sunderak Says:

    irmão teu script é o único que funcionou dentro muitos que achei na WEB muito obrigado e que dEUS conti9nue o abençoando para que nunca deixes de passar o que sabes. ok?

  18. Jeferson Says:

    Boa tarde Erick, estes arquivos estão me ajudando muito, é o primeiro que encontro que ficou 100%. Estou tentando realizar uma busca com esta aplicação, porem ainda não consegui, voce tem algum artigo sobre?
    Parabéns pelo seu trabalho, feliz natal.
    abs
    Jeferson.

  19. Popai Says:

    Marujo, coma espinafre.

  20. Lesfar Inmors Says:

    Cara, eu fiz um script a partir deste seu, mas eu estou com um grande problema, será que poderia me ajudar?

    class Php {

    public function Php() {
    }
    public function returnDados($colunas:Array, $local:String):Array {
    var $arrayLine:Array = new Array();
    var $retorno:LoadVars = new LoadVars();
    $retorno.onLoad = function() {
    for (var $x:Number = 0; $x

  21. David Says:

    Legal testei seu script e funcionou bem legal,,, vc tem algum php+mysql+flash de Login?

  22. Flávio Márcio Says:

    Ei Erick, tudo bem?

    Muito bom o seu tutorial velho! Está de parabéns.
    Existem alguns tutoriais de Flash+php+MySql na Net, mas não chega nem perto do seu.

    Abraços,
    Flávio.

  23. marcelo Says:

    oi erick. otimo tutorial.
    aproveitei pra alterar as cores dos componentes… do select.
    via “instanciaDoComponete.setStyle(”themeColor”, 0xFF0000);
    mas não vi como alterar a cor da fonte… ela permaneceu verde.
    pode me ajudar como formatar a cor da fonte?
    Grato desde já!
    Mva

  24. John Says:

    JLhnOy bhsdrjkvbfjksbhfsvkbdhfkv

  25. TestName Says:

    Test myfunction comment

  26. Mylo Says:

    Erik Bom arquigo cara e dificil axar algo asism :)
    Mas infelismente nao funcionou tenho servidor rodadndo apache mysql php e tals …. quando executo ele nao me deixa escrever nda … meu flash e 8 sabe o q pode ser ?
    Desde ja agradeço !

  27. Jinny Says:

    or less not these much happening More days. ,

  28. Mario Says:

    bland My been lately. basically life’s ,

  29. Brian Says:

    bother I guess it doesn’t me. ,

  30. Dusti Says:

    It’s not important. ,

  31. Gregg Says:

    up to days. I these been much haven’t ,

  32. Margo Says:

    much. up I been to haven’t ,

  33. Josie Says:

    life’s lately. been basically My bland ,

  34. ELBinho Says:

    Cara show de bola esse tuto, só uma duvida eu tenho um banco de dados Firebird, até tentei fazer umas modificações requisitiando a page retorno.php no ie ele gera todos os dados, porem no flash nada aparece o index (0,1,2,4) e a palavara undefined.

    Teria algum exemplo ae pra Firebird/Interbase

    Abraço

  35. Je@n M@rcel Says:

    Olha Cara!! realmente de muitos tutoriais que fiz, o seu é o melhor!!! funciona diretitinho. Preciso agora fazer junto a ele o pequeno formulario de acesso ==> usuario e senha ==> para acesso a uma área restrita de meu site. Isso no flash. Vc tem algum modelo aí. Valeu e Parabéns!!!

  36. Heuler Soares Says:

    Mr. Erick, to com um grande problema aqui, talvez com menores proporções pra vc. Preciso colocar em uma Variável do Flash (Dynamic text) o conteúdo de um banco de dados (apenas texto). Mas vou te falar, ta complicado pra mim!!! C puder publicar algo do tipo, talvez seja melhor usar um XML, sei lá.

    Parabéns aí pelo artigo acima, mas sou muito verde pra tanto saca.

    Já te agradeço, valew mesmo.

  37. 3mg xanax Says:

    xanax generic…

    fletcher preapplication…

  38. Charles Says:

    A integração entre flash php e mysql é incrivel, o tutotial tá jóia, o legal também é que você já coloca o exemplo logo no inicio.
    Continue assim

  39. bob Says:

    preved

  40. Maria Says:

    Muito bom o tutorial, mas para o caso de imagem (carregar uma imagem da base de dados para o flash??) eu tentei mas a imagem fica a piscar (seguindo pontos deste tutorial)
    Preciso de ajuda

  41. Maria Says:

    Mas em geral o vosso tutorial esta muito bem organizado, simples, e muito funcional

    O meu problema esta no reutilizar parte deste código para o caso de ter uma imagem.. (eu guardo na Base de dados é o caminho onde essa imagem esta localizada)

    A imagem aparece no flash mas a piscar tem uma solução??
    Eu utilizo parte deste codigo, bem como os ficheiros php (conexao e retorno)

    //objeto LoadVars.
    var retorno:LoadVars = new LoadVars();

    //carrega o arquivo PHP ‘retorno.php’.
    retorno.load(’http://localhost/retorno.php’);

    //ao arquivo ser carregado a função ‘carregarDados()’ é chamada através do evento onLoad.
    retorno.onLoad = carregarDados;

    function carregarDados():Void{
    // listaNomes.removeAll(); //limpa o listBox.
    //executa um loop até chegar ao número total de resultados.

    for(var n:Number = 0; n

  42. Maria Says:

    continuação:
    for(var n:Number = 0; n

  43. Bruno D. Says:

    Perfeito o código!! Só queria saber de uma coisa, no Flash caso eu queira usar somente os campos nome e email e um botão somente para inserir no banco de dados… como ficaria?! Tipo:

    NOME:
    MENSAGEM:
    ENVIAR (botão)

    :D

  44. Luano Says:

    Ele já cansou de responder…

  45. Diego Says:

    Muito bom o post.
    Realmente bom, me ajudou muito com umas dúvidas que eu tinho sobre a conexao com banco.
    Vai facilitar e muito meu trabalho agora. Valus

  46. Central da Música Says:

    Nossa gostei do seu post em…eu estava procurando isso mesmo, muitas pessoas que conheço estavam procuram respostas adequadas para essa interação.Aí achei seu post com uma boa explicação, assim passei para frente suas informações(seu link) e tenho certeza que muitos tambem gostaram….parabens….

    Abraços….

  47. http://www.mestresdopoker.com/ Says:

    http://www.mestresdopoker.com/

    Maior Site de Poker Brasileiro, Notícias, Salas de Poker, Bônus, Promoções, Torneios, FreeRolls, Tutorias, Videos, Tudo Sobre o Mundo do Poker.

  48. eugenio Says:

    Pessoal bacana à partir desta consegui fazer carregar títulos do bd numa List, porém os títulos aparecem cortados os textos não dão aquela quebra de linha para a linh de baixo, alguém sabe de algum arquivo as para corrigir isto? se tiver agradeço postando o código que montei de consulta para o bd.

  49. Filcos Says:

    Olá,
    Obrigado pela explicação e pelo exemplo completo. No entanto tenho um problema: Tenho a BD criada no mySQL , estou a usar os dois ficheiros php indicados neste exemplo, mas o meu programa flash não devolve nenhuma informação. Tenho dúvidas na forma como está activa a BD. Preciso de ter o apache activo? como é que o flash sabe onde ir buscar a BD(localhost)? tenho de ter todos os ficheiros junto com a BD, no directório do MySQL? Não estoua entender o que possa estar a falhar.
    Agradeço a sua ajuda.

    Cumprimentos,

  50. Denis Matos Says:

    Muito bom!
    Só nao entendi uma coisa… porque não coloca “excluir.php” ao invés de “http://localhost/excluir.php”? já que esta tudo na mesma pasta

  51. Funky_Man Says:

    Boa tarde. Antes de mais, mesmo depois de 2 e tal, agradeço muito este post pois ajudou-me numa tarefa que me foi definida no meu estágio. Mas claro, há sempre obstáculos e vou expor por um dos meus:

    Eu queria que no LISTBOX me aparecessem os dados organizados alfabeticamente sem mexer no código fla. Alguém me sabe dizer como o posso fazer?

    Obrigado.

  52. Nabo Says:

    Procuro fazer exactamente o mesmo.
    Como se resolve isso?

    Abraço

  53. afonso Says:

    Meu Kmarada…sem comentarios.. sem dúvida um tuto bem interessante e útil..
    seria mais interessante ainda se vc pudesse em vez do listbox, colocar um datagrid…
    falows… parabens… e sucesso p vc!!!!!!!!!!!!!

  54. Luis Madeira Says:

    Parabéns pelo excelente exemplo demonstrado, acho que depois de ler o mesmo, e todos os comentários só ficou mesmo uma coisa por responder, que por acaso é a que eu preciso, no modo de retorno como é que mostro mais do que uma coluna no datagrid?

    Cumprimentos

    Luis Madeira
    (Portugal)

  55. Shary Says:

    I liked reading your blog…keep up the good work.

  56. Danilo Says:

    Oi, só algumas perguntas…
    Em por que você usa um arquivo excluir o arquivo de conecxão?
    e também apaga todos os dados do banco de dados??

    não subescreve???

  57. Danilo Says:

    Descupe, quis dizer o por que você exclui a o arquivo conexão???
    e o banco de dados também tem que está configurado para receber os dados no formato UTF-8
    estou certo???

  58. Mr.Carrot26 Says:

    It made me laugh that he went to Confession before any jump. ,

  59. Alex56 Says:

    This opening rewind is not the only example of temporal complexity in the pilot. ,

  60. Daniel Soares Says:

    Ola Erick,

    Primeiramente está de parabéns cara, cada vez mais que eu procuro as coisas eu acabo encontrando sempre aki.. rs..
    Seguinte, estou com um problema, n sei se é o php ou o meu programa q n esta rodando, estou usando o WAMPServer, e nem pelo Flash (uso o CS4) esta recebendo o retorno do codigo PHP, desde o primeiro exemplo n tive retorno pelo “trace”..
    Vc já recebeu alguma duvida ou dificuldade do pessoal sobre essa mesma questão???
    Se sim, por favor, me informe como foi resolvido pois preciso muito desse material funcionando..
    Se puder me ajudar eu agradeço de antemão..

    Abraços..

  61. Eder Says:

    Parabéns! Muito útil!

  62. Lucas Says:

    Olah, Mt bom o tutorial…

    Mas no meu codigo deu erro na hora de abrir o arquivo…

    Na tela de Output aparece: “Error opening URL http://localhost/retorno.php‘”..

    Bom eh preciso instalar algum componente no flash??

    Pq eu istalei jah o servidor Apache e quando eu entro no navegador aparece tudo bunitinho soh no flash q naum

    :(

  63. Perry Says:

    Olá Erick,

    Por acaso não tem este tutorial para AS3? preciso muito

    Muito obrigado

  64. A. Bahia Says:

    Amigo, desde já os parabéns por esse tuturial e todo o seu blog. É de Mestre!
    Fiz o exemplo como está explicado, envia os dados para a BD (acrescentei o envio de uma imagem para o servidor) mas o Flash não está a receber os dados. Testei o ficheiro retorno e ele capta e coloca no ecrã os dados. Daí que penso que algo me está a escapar no Flash.
    Se puder ajudar agradeço.
    Uma vez mais parabéns pelo seu trabalho.

  65. Alexander Says:

    Meu flash não abre a url de jeito nenhum Na tela de Output aparece: “Error opening URL http://localhost/diretoriosite/teste.php‘”.. e o trace da undefined. não sei mais o que faço uso o flash cs4 e o wampserver. alguém por favor da um help. Obrigado

  66. Sara Says:

    Oii, td bom ?
    Gosteei dessa explicaçãao aee, mas tenhoo uma perguntinhaa
    Euu vou fazer um tcc e o meu projeto ée um site de confessionario em flash
    e eu teria de usar banco de dados certo ?
    porque se um usuario digitar sua “confissão” e outro quiser comentar por exemplo num site em flash eu teria que usar banco de dados, ja que o flash não salva ..
    Vc saberia uma forma de eu fazer isso ?
    Qualquer coisa me manda um email ? >.<
    não seii se deu pra perceber mas eu tenho variias duvidas e não sei com explica-lás –’
    TUDO em informatica/programação me confunde =/
    Beijo
    Obriigada ! (:

  67. Josue Says:

    naum consegui fazer aparecer nada na lista ele inseri mais naum mostra

  68. Rui Pedro Says:

    Olá tudo bem?.

    O seu tutorial esta muito bom e me deu um jeitão o que muito agradeço, contudo eu continuo com um problema. Agora eu apenas desejo passar o valor true ao false do seguinte script php e colocar a marca check nas boxes do flash.

    Ou seja pegar o valor de echo deste script e checar a box colocando uma marca nela, o que penso ser mais simples do que aquilo a que se propoe o seu tutorial.

    Agradeço a vossa ajuda se possivel, pois trata-se de um projecto para a Universidade e sou muito fraquinho em flash.

    Obrigado

  69. Rui Pedro Says:

    Desculpem mas o script não passou vou tentar novamente.

    $first=mysql_result($result,$num-1,”j”);
    if ($first == 4) echo “checked”;
    if (empty($first)) echo “unchecked”;

  70. Evandro Jr Says:

    Muito bom o esse tutorial, me ajudou não só a resolver o meu problema mas entender mais a fundo como funciona a interação do sql com o flash, parabéns!
    Só tem mais uma coisa que você pode complementar, no meu projeto tive que incluir um combobox no meu formulário em flash, mas utilizando os códigos acima o flash não envia para o sql os valores selecionados dentro do combo, será que você teria alguma solução pra isso?

    agradeço desde já!

  71. issufo Says:

    mano voce ajudou me muito , por tudo muito obrigado

  72. tenis nike Says:

    Muito bom agora sim entendi bem obrigado.

  73. top resorts in kerala Says:

    top resorts in kerala …

    [...]Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir - Erick Souza[...]…

  74. Sounds And Samples Says:

    Sounds And Samples…

    [...]Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir - Erick Souza[...]…

  75. Paulo Says:

    Tenho conhecimento em flash, e é isso que venho procurando mais não para formulário, queria se possível sua ajuda, queria pegar informações que existe em algumas tabelas minha e que elas sejam vista em flash.

    Paulo Luiz abraço e obrigado

  76. URL Says:

    Someone necessarily assist to make critically articles Id state. This really is the initial time I frequented your internet page and thus far? I amazed with the analysis you produced to make this actual submit incredible. Exceptional activity! 509970

  77. jogar en pt.momentodepoker.com Says:

    Muito bom conte?do. Onde posso ler mais problemas?

  78. Free file upload Says:

    Useful information. Lucky me I discovered your site accidentally, and I am surprised why this coincidence didn’t came about earlier! I bookmarked it.

  79. poker Says:

    poker…

    [...]Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir - Erick Souza[...]…

  80. site Says:

    9WD9JS1K5SBQP 9WD9JS1K5SBQP 9WD9JS1K5SBQP 883364 9WD9JS1K5SBQP

  81. jhamerson Says:

    Ola Erick!
    fiz tudo o que vc postou no blog e deu certo!
    parabens pelo seu trabalho!
    Eu gostaria de um informação: é que so da certo se eu executar dentro do adobe flash
    no ambiente de teste do Flash, como vc disse,
    porem gostaria de saber com fazelo executar utilisando o swf do arquivo,
    ou outra forma que seja por fora do adobe flash
    tipo pela internet utilizando index
    aguardo sua resposta!

Leave a Reply