Por um tempo procurei material parecido, para atender um cliente. Não achei nada dinâmico, apenas conversas entre flash e xml, estáticas. Como o flash deste artigo, cujo mesmo encontrei na net e mantenho os créditos.
O que fiz então neste artigo, é abordar o uso do xml, utilizando php e banco de dados mysql, para gerar uma galeria de fotos dinâmica em flash.
Não vou falar aqui, do visual da sua galeria. Isso quem decide é você. Vou falar sobre o action script que entende, abre e lê o xml, cujo mesmo é gerado pelo php, que realiza as consultas no mysql. Parece complicado? Mas não é!
O primeiro passo é obter o arquivo .fla de exemplo. Você pode fazer isso, clicando aqui.
Entre as actions de animação ao mostrar a fotografia, layers de nome do site, etc, vamos direto ao ponto principal, a action do XML.
No simbolo "tudo", na layer1, você vai encontrar do que vamos tratar agora.
// criando o objeto XML
var meuXML:XML = new XML();
// ignorando os espaços em branco
meuXML.ignoreWhite = true;
// carregando o XML
meuXML.onLoad = function():Void{
// variável que retorna a altura de todos os thumbs juntos, para calcular a barra de rolagem
altura = (thumb._height*meuXML.childNodes[0].childNodes.
length+meuXML.childNodes[0].childNodes.length*2);
// criando um loop for
for(i=0;i
<?php require_once('../../../Connections/testes.php'); // conexão padrão do dreamweaver, faça a sua como desejar, isso é indiferente. ?>
<?php
mysql_select_db($database_testes, $testes);
$query_fotos = "SELECT * FROM galfotos";
$fotos = mysql_query($query_fotos, $testes) or die(mysql_error());
$row_fotos = mysql_fetch_assoc($fotos);
$totalRows_fotos = mysql_num_rows($fotos);
$fotogrande = $row_fotos['nomefoto'];
$thumbfoto = $row_fotos['thumbfoto'];
$descfoto = $row_fotos['titulofoto'];
?>
<?
// gravando o documento XML e encapsulando o resultado na variável $xml
$xml = "<?xml version="1.0" encoding="iso-8859-1" ?> ";
// abrindo o nó principal
$xml .= "<fotos>";
// abrindo o while com os dados das fotos, isso delimita cada bloco de informações de fotos com seus respectivos dados(subnós) dentro deste nó
do {
// subnós de informações - nome da foto, thumbnail da foto, título de apresentação da foto
$xml .="<foto grande="$fotogrande" thumb="$thumbfoto" desc="$descfoto" />";
// fechando o while dos dados
} while ($row_fotos = mysql_fetch_assoc($fotos));
// fechando o nó principal
$xml .="</fotos>";
$fp = @fopen('galeria1.xml','w');
if(!$fp) {
die('Não foi possivel abrir o XML');
}
$write = fwrite($fp,$xml);
if(!$write) {
die('Não foi possivel gravar os dados no XML');
}else {
echo "Dados gravados com sucesso no XML galeria1.xml";
fclose($fp);
}
mysql_free_result($fotos);
?>
Agora que você gerou um xml com o conteúdo presente no banco de dados, você pode abrir o swf gerado (à partir do .fla que você baixou no início) e ver que todas as imagens presentes no XML, estão sendo mostradas no seu swf flash!
Clique aqui para ver o exemplo em funcionamento.