Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia senhores!
Tenho uma tabela banners no mysql com os seguintes campos (BannerCod, BannerImagem(caminho da imagem), BannerData, BannerTexto).
Preciso fazer um banner em Flash que pegue a imagem e os dados do banco para evitar a ediçao do SWF toda vez que se altera o banner.
Outro detalhe que o banner (704x170px) tem que ter aquele menuzinho 1,2,3,4 e 5. para que o internauta nao precise esperar a animacao para ver todos os 5 banners que terao que aparecer.
Gostaria de alguma ajuda, se possível.
Obrigado.
>
Faça um Administrativo que quando você inserir um imagem no banco, ela escreva em um xml e faça upload da foto para um pasta,
ai você faz com que escreve o xml do jeito que você quiser..
por exemplo:
<banner>
<foto img="1.jpg" descr="seu texto" />
</banner>
isso usando PHP, simpleXML,
ai no flash você carrega as informações do xml, usa um for, e fala que o numero de botoes e igual ao numero de nós no xml,
acho que é isso..
Abraços !
Olá Jaime, muito obrigado pela resposta. Fiz isso mas estou com um probleminha e talvez vocë consiga me ajudar.
Vamos lá:
1 - Tenho um PHP que gera um XML assim:
<?xml version="1.0"?>
<banners>
<foto imagem='admin/agenda/banner3.jpg' titulo='Acustico Tres' BannerData='2010-11-09' banda='333'/>
<foto imagem='admin/agenda/banner5.jpg' titulo='Assim Deu' BannerData='2010-12-02' banda='25555555'/>
<foto imagem='admin/agenda/banner1.jpg' titulo='Especial UM' BannerData='2010-12-11' banda='b1'/>
<foto imagem='admin/agenda/banner2.jpg' titulo='Ao Vivo Dois' BannerData='2010-12-15' banda='2222'/>
<foto imagem='admin/agenda/banner4.jpg' titulo='A vida eh uma festa' BannerData='2010-12-31' banda='d444'/>
</banners>
Até aí tudo bem...
2 - No flash tá assim:
camada 1 - frame 1:
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("sd_banner.php");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
BannerImagem.loadMovie(this.childNodes[0].childNodes[0].attributes.imagem); (APARECE A IMAGEM CERTINHO)
titulo.text = this.childNodes[0].childNodes[0].attributes.titulo; **nao aparece o texto **
BannerImagem1.loadMovie(this.childNodes[1].childNodes[1].attributes.imagem); **nao aparece a segunda imagem**
}
Estou usando o flash cs5
Obrigado
muda a linha
arquivo.load("seu xml") não seu arquivo php
Obrigado pessoal,
já resolvi o problema por aqui! rs
posta a solução aqui para compartilhar com todos,
o erro nós ja sabemos ! e a solução?
Abraços !
Bom, Vamos lá!!
O que eu queria era fazer uma animação em flash que pegasse do mysql os seguintes dados: Titulo, Data, Banda e Imagem. Pesquisando na net e adaptando códigos cheguei nesta solução, que com certeza deve ter algo mais fácil pra fazer...
Vamos lá..
Este código PHP é o que pega os dados do banco e gera um código XML para posteriormente utilizar com o flash. Tem uma função que destrincha a Data tb:
<?
function diasemana($data) {
$ano = substr("$data", 0, 4);
$mes = substr("$data", 5, -3);
$dia = substr("$data", 8, 9);
$diasemana = date("w", mktime(0,0,0,$mes,$dia,$ano) );
switch($diasemana) {
case"0": $diasemana = "Domingo"; break;
case"1": $diasemana = "Segunda-Feira"; break;
case"2": $diasemana = "Terça-Feira"; break;
case"3": $diasemana = "Quarta-Feira"; break;
case"4": $diasemana = "Quinta-Feira"; break;
case"5": $diasemana = "Sexta-Feira"; break;
case"6": $diasemana = "Sábado"; break;
}
switch($mes) {
case 01: $mes = "Janeiro"; break;
case 02: $mes = "Fevereiro"; break;
case 03: $mes = "Março"; break;
case 04: $mes = "Abril"; break;
case 05: $mes = "Maio"; break;
case 06: $mes = "Junho"; break;
case 07: $mes = "Julho"; break;
case 08: $mes = "Agosto"; break;
case 09: $mes = "Setembro"; break;
case 10: $mes = "Outubro"; break;
case 11: $mes = "Novembro"; break;
case 12: $mes = "Dezembro"; break;
}
echo " Semana='$diasemana' ";
echo " Mes='$mes' ";
echo " Dia='$dia' ";
}
//Exemplo de uso
$link = mysql_connect( "localhost","root","aspire");
mysql_select_db("semdestino");
$query = 'SELECT * FROM banners ORDER BY BannerData ASC limit 5';
$results = mysql_query($query);
echo "<?xml version=\"1.0\"?>\n";
echo "<banners>\n";
while ($line = mysql_fetch_assoc($results)) {
echo "<foto imagem='admin/".$line["BannerImagem"]."' titulo='".$line["BannerTitulo"]."'";
diasemana($line["BannerData"]);
echo "banda='".$line["BannerBanda"]."'/>\n";
}
echo "</banners>\n";
mysql_close($link);
?>
O código php acima gera este código XML:
<?xml version="1.0"?>
<banners>
<foto imagem='admin/agenda/banner3.jpg' titulo='Ao Vivo Agora 3' Semana='Terça-Feira' Mes='Novembro' Dia='09' banda='Banda YAHOO'/>
<foto imagem='admin/agenda/banner5.jpg' titulo='Assim Deu' Semana='Quinta-Feira' Mes='Dezembro' Dia='02' banda='25555555'/>
<foto imagem='admin/agenda/banner1.jpg' titulo='um' Semana='Sábado' Mes='Dezembro' Dia='11' banda='b1'/>
<foto imagem='admin/agenda/banner2.jpg' titulo='Ao Vivo Dois' Semana='Quarta-Feira' Mes='Dezembro' Dia='15' banda='2222'/>
<foto imagem='admin/agenda/banner4.jpg' titulo='A vida eh uma festa' Semana='Sexta-Feira' Mes='Dezembro' Dia='31' banda='d444'/>
</banners>
No Flash na eu fiz isso:
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("sd_banner.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
BannerImagem.loadMovie(arquivo.firstChild.childNodes[0].attributes.imagem);
titulo.text = arquivo.firstChild.childNodes[0].attributes.titulo;
Dia.text = arquivo.firstChild.childNodes[0].attributes.Dia;
Mes.text = arquivo.firstChild.childNodes[0].attributes.Mes;
Semana.text = arquivo.firstChild.childNodes[0].attributes.Semana;
banda.text = arquivo.firstChild.childNodes[0].attributes.banda;
Mas eu tive q fazer uma gambiarra, pq eu tive que colocar ESTE código em 5 frames onde cada uma buscava um nó diferente.. nao consegui buscar tudo de uma vez! :( se alguem puder ajudar...
/applications/core/interface/imageproxy/imageproxy.php?img=http://img89.imageshack.us/img89/781/capturadetela20101202as.png&key=a21460fcb11a057bad7e0a1270675be2c108d68c13e27bb043d9bbf33662fc36" alt="Imagem Postada" />
vendo daqui.. você fechou o onLoad?
Fechei sim, o colchete tá lá embaixo ! ! !
Bom dia!!!!
Gostaria de Saber se eu posso usar o texto dinamico nas animações.... , eu tentei aqui e nao consegui.. nao aparece... (caçando na net)
pode sim, so precisar dar tempo de ele carregar antes que a animação acabe..
Faça um Administrativo que quando você inserir um imagem no banco, ela escreva em um xml e faça upload da foto para um pasta,
ai você faz com que escreve o xml do jeito que você quiser..
por exemplo:
isso usando PHP, simpleXML,
ai no flash você carrega as informações do xml, usa um for, e fala que o numero de botoes e igual ao numero de nós no xml,
acho que é isso..
Abraços !