Ir para conteúdo

POWERED BY:

Arquivado

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

AdinanCenci

Nem XML funciona!

Recommended Posts

Eu tentei fazer aplicações dinamicas com PHP, banco de dados com o sendAndLoad.

Ele funcionava na maquina em que queria funcionar

Tentei substituir por XML, deu no mesmo...

 

Por favor. alguem sabe o que tenho que fazer pra isso funcionar?

A resposta do php é muito lenta?

A internete que é lenta?

O que as vezes ele nunca carrega as informações do PHP?

 

testexml.php :

<?
//estruturo o xml:

$meuXML="<?xml version='1.0' encoding='utf-8'?>";
$meuXML.="<dados>";

$meuXML.="<menus>teeexto</menus>";

require("conexao.php");

$n=0;
$oxml=mysql_query("SELECT * FROM fucaxml WHERE menupai=''");

while($xmlsql=mysql_fetch_array($oxml)){
	$meuXML.="<menus$n>".$xmlsql['titulo']."";
	$submenus=mysql_query("SELECT * FROM fucaxml WHERE menupai='".$xmlsql['Id']."'");
	$z=0;
	while($submenusarrays=mysql_fetch_array($submenus)){
		$meuXML.="<submenus$z>".$submenusarrays['titulo']."</submenus$z>";
		$z++;

	}
	$meuXML.="</menus$n>";

	$n++;
}

$meuXML.="</dados>";

echo $meuXML;

?>

 

stop()
var myXML:XML = new XML();
myXML.ignoreWhite=true;
myXML.load("http://www.site.com/testexml.php");
myXML.onLoad = function(success){
	if (success){
		//trace (myXML);
		
		play()
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Vamos corrigir seu php tá

Use sempre <?php e não apenas <?, pois nem todos os servidores entedem isso

 

2 - Para que funcione isso AS 2.0 não aceita informação direta do php como um XML, você tem que usar a função file do php para salvar esse PHP e então abrir no flash

use fopen para criar um arquivo e salvar e no flash de o nome que você salvou do arquivo XML no php em vez de tentar abrir o PHP

 

Se for fazer seu código em AS 3 ele aceita esse tipo de coisa que você ta tentando fazer.

 

Espero ter ajudado

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sempre usei php retornando xml e nunca tive problemas com isso, não acho que seja preciso fazer o arquivo "físico" no servidor pois sempre usei diretamente e nunca deu problemas, tente acessar a página do php e depois ir em "Exibir código fonte" para ver se ele ta gerando os caracteres corretamente, porque as vezes ele printa normal na tela, mas no código fonte pode estar diferente.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é. O que eu quero fazer é algo muito dinamico e tem que ser um script PHP.

 

Em algumas maquinas ele da esse problema.

Ele não carrega, fica la sem fazer nada e não carrega.

Se o problema for a velocidade da internet o que eu faço pra contornar?

 

dou um sleep no php para ver se ele tem maior tempo pra escrever o xml e o flash ler?

 

carneirinho, dava pra me passar um exemplo dos seus scripts?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok como eu havia dito seu erro ta no PHP

 

O carnerinho disse que tem um jeito de fazer... mas eu infelizmente desconheço =/

 

O meu jeito seria assim:

<?php
//estruturo o xml:

$meuXML="<?xml version='1.0' encoding='utf-8'?>";
$meuXML.="<dados>";

$meuXML.="<menus>teeexto</menus>";

require("conexao.php");

$n=0;
$oxml=mysql_query("SELECT * FROM fucaxml WHERE menupai=''");

while($xmlsql=mysql_fetch_array($oxml)){
 $meuXML.="<menus$n>".$xmlsql['titulo']."";
 $submenus=mysql_query("SELECT * FROM fucaxml WHERE menupai='".$xmlsql['Id']."'");
 $z=0;
 while($submenusarrays=mysql_fetch_array($submenus)){
 $meuXML.="<submenus$z>".$submenusarrays['titulo']."</submenus$z>";
 $z++;

 }
 $meuXML.="</menus$n>";

 $n++;
}

$meuXML.="</dados>";

$arquivo = "teste.xml";
$nodes = fopen($arquivo,'w');
fwrite($nodes, $meuXML);
fclose($nodes);

?>
Ai no flash você só teria que alterar a chamada do load:

stop()
var myXML:XML = new XML();
myXML.ignoreWhite=true;
myXML.load("http://www.site.com/teste.xml");
myXML.onload = function(success){
 if (success){
 //trace (myXML);
 
 play()
 }
}
Mas acredito que se você estiver usando o primeiro código... você pode tentar chamar exatamente como está seu código só que no flash em vez de colocar

testexml.php você altera para testexml.xml

 

Da uma olhada para ver se funciona.

 

Abraços

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.