ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Récupérer des données d'un base de donnée
Nous allons voir ici comment récupérer les données contenu dans une base de donnée. Le principe consiste à récupérer et transformer les données de la base de donnée en un fichier XML via un langage dynamique (PHP, ASP, etc.). Ensuite on récupère dans Flash les données XML et le tour est joué.

Ici j'utilise un fichier PHP pour récupérer les données de la base de donnée et les afficher sous forme d'une fichier XML :

<?PHP
//Connexion à votre base de donnée
include("connexion.php");

//Séléction des données souhaitées
$req = "SELECT * FROM votre_table";
$result = mysql_query($req);
$data = mysql_fetch_assoc($result);

//Traitement des données
$title = $data['titre'];
$text = $data['texte'];

//Renvoi les données sous la forme d'un fichier XML
header ("Content-Type: text/xml");

echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
echo "<root>";
echo "<infos>";
echo "<title>$title</title>";
echo "<text>$text</text>";
echo "</infos>";
echo "</root>";
?>



Ensuite dans Flash je récupère les données du fichier XML comme ceci :

//Imports Flash
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;

//URL du fichier PHP
var fichierPHP:URLRequest = new URLRequest("fichier.php");

//Chargement du fichier
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(fichierPHP);

//Traitement des données
function onLoaded(e:Event):void
{
//Récupération des données du fichier XML
var xml:XML = new XML(e.target.data);

//Séparation des données par type
var xmlData1:XMLList = xml.infos.title;
var xmlData2:XMLList = xml.infos.text;

//Affichage de données spécifique
zone_titre.text = xmlData1[0];
zone_texte.text = xmlData2[0];
}

ATTENTION : On utilise ici un fichier PHP, il faut donc que vos fichiers sous en ligne sur un serveur pour qu'ils fonctionnent. Vous ne pouvez pas les tester en local. J'ai remarqué également que même avec un simulateur comme EasyPHP cela ne fonctionne pas. Il faut vraiment le mettre en ligne dans des conditions réelles.
Commentaire(s)
Aucun.