Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pcdesign

looping das variaveis php enviadas para o flash

Recommended Posts

Oi galera,

estou tentando fazer um loadmovie para exibição de banners,

até ja consegui fazendo apenas para um banner, mas não estou acertando fazer o loop

para vários banner.

 

lista as variáveis do banner no php.

<?php
include "exibi_banner.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

	//abrir banner
	Abre_Conexao();
	  $Selbanner = mysql_query("SELECT cod_anun, banner, tipo_banner FROM banner where cod_anun = '$cod_anu'") or die ("Erro na exibição do banner: ".mysql_error());
	@mysql_close();
$dados = ''; 
$nLoop = 0; 

	while ($rsBanner = mysql_fetch_row($Selbanner)) {
	$cod_anun = $rsBanner['0'];
	$banner = $rsBanner['1'];
	$tipo_banner = $rsBanner['2'];

$dados .= '&cod_anun' . $nLoop . '=' . $cod_anun;
$dados .= '&banner' . $nLoop . '=' . $banner;
$nLoop++; 
}

echo utf8_encode($dados) . '&nLoop=' . $nLoop;

?>

código flash: não consigo acerta este loop.

loader = new LoadVars();
loader.load("http://localhost/abrace/lista_bannerswf.php"); 
loader.onLoad = function (){ 
for(var n:Number = 0; n<this.nLoop; n++){
cod_anun = this['cod_anun' + n];
banner = this['banner' + n];
loadMovie(banner,"load_banner");
}
}

desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu loadMovie, você esta carregando todos os banner no mesmo movieCLip, o ideal seria você usar o createEmpttMovieClip()

 

para cria um movieClip dinamicamente e carregar o banner em cada um

 

 

dá uma pesquisada por essa função

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Eder,

Ante de tudo obrigado pela resposta,

 

o problema que não sei nada de actionscript, você poderia mostra uns exemplos,

mas tambem não sei se isso resolveria meu prolema, pois meu interesse é mostra os banner na pagina php.

 

vou postar minha pagina que mostra os banners pra você entender melhor, ja consegui desta fomra para eximir apenas um banner, que no caso são exibidos no topo e rodapé.

 

<?php
$pagina = basename($_SERVER['PHP_SELF'],'.php');
Abre_Conexao();
$re = mysql_query("SELECT anuncios.*, planos.*, detalhes_anuncios.*
FROM anuncios INNER JOIN planos ON  planos.cod_plano = anuncios.cod_plano 
INNER JOIN detalhes_anuncios ON  detalhes_anuncios.cod_anun = anuncios.cod_anun where pagina LIKE'%$pagina%' AND curdate() between inicio AND fim AND setor = 'Lateral Direita' AND tipo_plano = 'Banner (198x80)px' order by anuncios.cod_anun asc limit 15") or die (mysql_error());
@mysql_close();
$limit= 15;
$c= 1;
while($l = mysql_fetch_array($re)){
//campos tabela anuncios
$cod_anun = $l['cod_anun'];
$login = $l['login'];
$inicio = $l['inicio'];
$fim = $l['fim'];
$pagina_anun = $l['pagina'];
$banner = isset($l['banner']);
$email_anun = $l['email_anun'];
$site_anun = $l['site_anun'];
$destino = $l['destino'];
$pago = $l['pago'];

//campos da tabela planos
$cod_pano = $l['cod_plano'];

//campos da tabela detalhes_anuncios
$titulo_anun = $l['titulo_anun'];
$desc_anun = $l['desc_anun'];
$desc_anun = substr($desc_anun,0,50);

if ($pago=='1'){
//>>>>>>>>>>> Exibe o Banner em flash
Abre_Conexao();
	  $Selbanner = mysql_query("SELECT cod_anun, banner, tipo_banner, largura, altura, cod_banner FROM banner WHERE cod_anun='$cod_anunTop'") or die ("Erro na exibição do banner: ".mysql_error());
	@mysql_close();
	while ($rsBanner = mysql_fetch_row($Selbanner)){
	$cod_anun = $rsBanner['0'];
	$banner = $rsBanner['1'];
	$tipo_banner = $rsBanner['2'];
	$largura = $rsBanner['3'];
	$altura = $rsBanner['4'];
	$cod_banner = $rsBanner['5'];

	if ($tipo_banner == "flash"){
		
$bannertop='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">
  <param name="movie" value="load_top.swf" />
  <param name="quality" value="high" />
  <embed src="load_top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed>
</object>';
} else {
//>>>>>>>>>>>>Exibi outros formatos de banner
$bannertop= '<a href="hits_anuncios.php?cod_anun='.$cod_anun.'" target="_self"><img src="img_user/'.$banner.'" alt="titulo da imagem"/></a>';
		}
	}

} else {
	$data_limit = soma_data($inicio, "3 dias");
	$dia = $data_limit["dia"];
	$mes = $data_limit["mes"][2];
	$ano = $data_limit["ano"];
	$data_limit = array($ano,$mes,$dia);
	
	if(strtotime(date("Y-m-d")) <= strtotime(implode("-",$data_limit))){
	echo'<li><img src="banners/banner_reservado.png" alt="Banner Anuncio com espaço reservado"" /></li>';
	} 
	
	else {}


}
 $c++;
}

if ($c < $limit){
	for($i=$c; $i<=$limit; $i++){
	echo '<li><a href="detalhes_planos.php?pagina='.$pagina.'&setor=Lateral Direita&tipo_plano=Banner (198x80)px"><img src="banners/anuncie1.png"/></a></li><br />';
}}else {echo "algum erro aconteceu";}
?>

Se puder da uma analizada e me da uma explicação de como processder neste caso.

mas uma vez obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, conseguiu resolver seu problema?

 

Estou com o mesmo problema, estou mandando oque fiz.

 

CODE
loader = new LoadVars();

loader.load("flash.php");

loader.onLoad = function (){

for(var n:Number = 0; n<this.nLoop; n++){

banner[n] = this['banner' + n];

}

}

 

 

//var arquivos = ["primeiro.swf", "segundo.swf", "terceiro.swf", "quarto.swf", "quinto.swf"];

//var i=0;

 

_global.carregaProximo=function(){

_root.createEmptyMovieClip("moldura", 100);

_root.moldura.loadMovie([banner]);

i++;

}

_global.carregaProximo()

DiSSeNHa

Compartilhar este post


Link para o post
Compartilhar em outros sites

A minha funciomou!!! Esta rodando certinho!!!

 

 

Resolvido, se alguem precisar!!!

 

CODE
var carrega:LoadVars = new LoadVars();

carrega.load("flash.php");

carrega.onLoad = function(ok) {

if (ok) {

var banner = carrega.arquivos.split(",");

var i = 0;

_global.carregaProximo = function(){

_root.createEmptyMovieClip("moldura", 100);

_root.moldura.loadMovie([banner]);

i++;

if ([banner] eq "undefined") i = 0;

}

_global.carregaProximo();

}

}

E no final de da Flash

 

CODE
_global.carregaProximo();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste seu exemplo como você fez para criar as variaveis na pagina flash.php

e poderia comentar as linas do seu script pra mim poder entender o funcionamento

melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O php eu fiz assim

 

CODE
<?

session_start();

include("config.php");

$sql="select * from parametros";

$resultado=mysql_query($sql,$conexao) or die(mysql_error());

$parametros=mysql_fetch_assoc($resultado);

$sql="select arquivos from intro_".$_SESSION["idioma"]." order by ordem";

$Selbanner=mysql_query($sql,$conexao) or die(mysql_error());

$rsBanner = mysql_fetch_row($Selbanner);

$dados = '&arquivos=';

$dados .= $rsBanner['0'];

$primeiro = $rsBanner['0'];

while ($rsBanner = mysql_fetch_row($Selbanner)) {

//$banner = $rsBanner['0'];

//$dados .= $banner .',';

if($primeiro != $rsBanner['0']) $dados .= ','. $rsBanner['0'] ;

}

echo $dados;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom não consegui fazer ainda não deu certo, mas de qualquer forma acredito que vou ter que ter um swf que caiba todos os banner que pretendo apresentar na lateral o que não era minha ideia. como se pode perceber na minha pagina exibi_banner.php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.