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

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.

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.

August 30th, 2006 at 13:22
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
August 31st, 2006 at 9:54
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!!!
September 2nd, 2006 at 1:29
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!!!
September 2nd, 2006 at 23:50
Olá!
Testei e tb não funcionou …
Pode enviar para mim tb o fla do exemplo??
lilianiramos@yahoo.com.br
September 5th, 2006 at 14:36
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
September 5th, 2006 at 20:54
Adicionei o link para download do arquivo fonte.
September 12th, 2006 at 15:21
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.
September 12th, 2006 at 22:10
Oi Guilherme,
Esta animação é própria do componente listBox.
September 20th, 2006 at 9:47
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.
September 22nd, 2006 at 0:35
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.
October 16th, 2006 at 13:06
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.
October 24th, 2006 at 21:33
muito bom seu blog ja vai ficar nos favoritos parabéns
October 30th, 2006 at 3:46
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!
October 30th, 2006 at 3:47
Promete que vai tentar me ajudar?
October 30th, 2006 at 22:44
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.
November 7th, 2006 at 1:53
Valeu. Muito obrigado!
November 14th, 2006 at 14:05
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?
December 27th, 2006 at 11:12
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.
April 27th, 2007 at 15:50
Marujo, coma espinafre.
May 3rd, 2007 at 14:57
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
May 22nd, 2007 at 22:32
Legal testei seu script e funcionou bem legal,,, vc tem algum php+mysql+flash de Login?
June 1st, 2007 at 16:37
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.
June 4th, 2007 at 15:38
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
June 17th, 2007 at 13:19
JLhnOy bhsdrjkvbfjksbhfsvkbdhfkv
June 30th, 2007 at 17:08
Test myfunction comment
July 4th, 2007 at 22:23
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 !
August 6th, 2007 at 9:26
or less not these much happening More days. ,
September 2nd, 2007 at 19:29
bland My been lately. basically life’s ,
September 3rd, 2007 at 5:39
bother I guess it doesn’t me. ,
September 3rd, 2007 at 8:13
It’s not important. ,
September 3rd, 2007 at 20:59
up to days. I these been much haven’t ,
September 4th, 2007 at 2:08
much. up I been to haven’t ,
September 4th, 2007 at 6:48
life’s lately. been basically My bland ,
September 12th, 2007 at 11:54
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
September 14th, 2007 at 14:37
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!!!
October 30th, 2007 at 10:54
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.
December 24th, 2007 at 14:33
xanax generic…
fletcher preapplication…
January 14th, 2008 at 17:03
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
January 19th, 2008 at 17:49
preved
February 16th, 2008 at 12:49
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
February 16th, 2008 at 12:55
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
February 16th, 2008 at 12:58
continuação:
for(var n:Number = 0; n
March 5th, 2008 at 11:10
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)
June 26th, 2008 at 13:09
Ele já cansou de responder…
August 26th, 2008 at 10:59
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
September 8th, 2008 at 15:15
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….
October 4th, 2008 at 18:33
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.
October 22nd, 2008 at 0:16
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.