PHP Générer du XML à partir d’une DB MYSQL pour Flash
Dans cet article je vais tenter d’expliquer comment générer du xml pour un menu FLASH, en PHP en se servant des données d’une base MYSQL.
Ont doit avoir une base de donnée avec une table peu importe le nom ici je l’appelerai ‘menu’ qui contiendra les champs ‘nom’ et ‘id’ .
Ont doit aussi avoir un menu Flash générer par un fichier XML ont peut en télécharger à peut de frais sur IstockPhoto ou même avec le menu Flash XML open source de Quadroland donc je parle dans l’article ici .
Un editeur Flash et un editeur pour le PHP (Bloc Note peut très bien faire l’affaire).
Vous devez ouvrir le fichier .fla commencé par incorporer les accents et caractères spéciaux.
Pour ce faire, prenez l’outil de selection (la flèche noir) double cliqué dans la zone texte, jusqu’a ce que vous pouviez écrire dedans. Il y auras dans l’onglet propriété un bouton pour inclure des caratères, vous pouvez ajouter tout les latins et extensions latin.
Par la suite faite une recherche pour .xml à l’intérieur du .fla . Si vous ne trouvez rien il se peut qu’il se trouve dans un fichier externe au .fla (.as par exemple). Lorsque vous aurez trouver la routine qui ouvre le xml dans le flash changer l’extension .xml pour .php et sauvegarder le tout.
Vous devez par la suite à l’aide de votre éditeur créer un fichier .php qui portera le même nom que le .xml en question.
L’ont commence le fichier avec <?php et le termine par ?> et ont n’y place aucune balise html!!!
Il y a souvent des entêtes d’options ont crée une chaine comme suit:
$string= »<?xml version=\ »1.0\ » encoding=\ »UTF-8\ »?>\n »;
Il est important de mettre le \ avant tout les doubles guillemets en PHP les doubles guillemets signifie une fin de chaine.
L’ont fait ça pour tout l’entête en se rappelant que les lignes qui suiverons ne devrons pas écraser les précédante.
Pour cela ont fait:
$string.= »< le code> »;
lorsqu’ont es rendu au code xml des boutons comme tel, ont crée une connection à notre base de donnée.
$db=mysql_connect(« nom_du_serveur », »nom_du_user », »mot_de_passe »);
mysq_select_db(« nom_de_la_base »,$db);
Ont prépare notre requête.
$query= »SELECT nom,id FROM menu »;
Pour une question d’optimisation on indique les champ plutot qu’utiliser * qui est plus lent.
Ont envoie notre requête et ont récupère le résultat.
$result=mysql_query($query);
Ont fait une boucle tant que tout les entrées ne sont pas lu.
while($val=mysql_fetch_array($result))
{
$string.= »<menu name=\ »".$val['nom']. »\ » url=\ »lapage.php?id= ».$val['id']. »\ »\> »;
}
À la fin de tout ont doit encodé notre chaine en UFT8 parce que Flash gère les caractères UFT8
ont procède de la façon suivante:
$string=utf8_encode($string);
Dans un prochain post je détaillerai comment utiliser cette technique avec le menu Flash Open Source de Quadroland.
