quinta-feira, 15 de abril de 2010

Criando Graficos Flash XML - com interação com banco de dados

Talvez vocês tenham visto o tutorial que eu coloquei aqui sobre como criar um Gráfico Dinâmico no Flash junto com o XML.

TUTORIAL


Para quem não viu da uma passada por lá e veja como faz é impressionante rsrsrs, ou baixe o projeto pronto aqui.

E para quem já viu aqui eu fiz um bônus muito legal, iremos utilizar o mesmo projeto porém iremos interagir com o Access usando ASP, agora sim o projeto se tornou viável.

OK galera mãos na massa

Abram o Access e criem um novo banco (Arquivo>Novo), salvem ele na mesma pasta do Grafico.fla, com o nome grafico.mdb

Criem uma nova tabela com dois campos:
Cod - Numeração automatica - Chave Primaria
Ponto - Texto

Salvem a tabela como grafico, e coloquem alguns valores para o campo pontos, esses serão os pontos em que a linha passará no gráfico.

Agora vamos ao ASP.

dados.asp


<%
Set con = Server.CreateObject("ADODB.connection") 'criamos a conexão
con.open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("grafico.mdb")) 'conectamos com a base de dados grafico.mdb


Function Encode_UTF8(astr) 'função encode_utf8 converte o valor do campo para UTF8 e assim ficar compativel com o XML

Encode_UTF8 = Server.HTMLEncode(astr)

End Function

set grafico = server.CreateObject("ADODB.recordset") 'criamos o recordset grafico

grafico.open "SELECT * FROM grafico ORDER BY cod DESC",con 'conectamos com a tabela grafico puxando os dados de trás para frente

Response.ContentType="text/xml"  'definimos o formato da função response

response.Write "<?xml version='1.0' encoding='UTF-8'?>"+chr(10) 'iniciamos o XML
response.Write "<grafico>"+chr(10) 'abrimos o nó grafico


if not grafico.eof and not grafico.bof 'se houver registros na tabela grafico
    while not grafico.eof 'enquanto houver registros ele imprime os dados na tela
        response.Write "<n>" 'abre a tag n
        response.Write Encode_UTF8(grafico("ponto")) 'insere o valor do campo no caso a posição do nosso ponto
        response.Write "</n>"+chr(10) 'fecha o nó n
        grafico.movenext 'move para o proximo registro e começa de novo enquanto houver informações
    wend
end if

response.Write "</grafico>" 'fecha o nó grafico
%>

Perfeito agora abra o grafico.fla e substitua dados.xml por dados.asp e pronto.

O que fizemos aqui foi apenas substituir a fonte de dados por uma fonte dinâmica e assim facilitarmos a atualização dos registros, esse projeto pode ser facilmente adaptado para SQL Server, MySQL, etc.


Obrigado e até a próxima


Nenhum comentário: