Salut,
Si ce n'est que du texte, pas la peine de passer par le xml, un simple fichier texte est suffisant et sera plus rapide pour un téléchargement sous flash.
Voilà le code que j'utilise pour mettre en forme le fichier texte à partir de php :
| CODE |
$i=0;
while($tab=mysql_fetch_row($res))
{
echo utf8_encode($tab[0]).";".utf8_encode($tab[1]).";".utf8_encode($tab[2]).";".utf8_encode($tab[6]);
echo "\r\n";
$i++;
}
|
$tab est la mise en forme de ta requête sql.
La boucle while met en forme un tableau avec des points-virgules comme séparateurs. Dans l'exemple, il reprend les 3 premières colonnes de la requête ($tab[0], $tab[1], $tab[2])
Ensuite sous flash :
| CODE |
stop();
removeMovieClip("mc");
donnee = new LoadVars();
donnee.load("monfichier.php?uniq="+GetTimer(),this._parent.dropZone);
donnee.onLoad = function(success) {
fmt = new TextFormat();
with (fmt) {
font = "Arial";
size = 14;
color = 0xE3F9FF;
bold = true;
};
fmt1 = new TextFormat();
with (fmt1) {
font = "Arial";
size = 14;
color = 0xE3F9FF;
bold = true;
align ="right";
};
fmt2 = new TextFormat();
with (fmt2) {
font = "Arial";
size = 13;
color = 0xE3F9FF;
bold = true;
align ="right";
};
var chaine = this.toString();
var tabTemp = chaine.split("%0D%0A");
tabTemp.pop();
tab = new Array();
for (i=0; i<tabTemp.length; i++) {
tabTemp[i] = unescape(tabTemp[i]);
tab[i] = tabTemp[i].split(";");
}
createEmptyMovieClip ("mc",5);
for (j=0; j<12; j++) {
nom = "txt" + j;
mc.createTextField(nom, (j+1), 85, 22*j+181, 150, 60);
mc[nom].setNewTextFormat(fmt);
variable = tab[j][0];
mc[nom].text = variable;
}
createEmptyMovieClip ("mc1",11);
for (j=0; j<12; j++) {
nom = "txt1" + j;
mc1.createTextField(nom, (j+1), 90, 22*j+181, 150, 60);
mc1[nom].setNewTextFormat(fmt1);
variable = tab[j][1];
mc1[nom].text = variable;
}
createEmptyMovieClip ("mc2",12);
for (j=0; j<12; j++) {
nom = "txt2" + j;
mc2.createTextField(nom, (j+1), 116, 22*j+181, 150, 60);
mc2[nom].setNewTextFormat(fmt1);
variable = tab[j][2];
mc2[nom].text = variable;
}
delete _level0.donnee;
};
|
Le code flash interprête dans un premier temps le tableau généré par php et génère les variables. Les 3 dernières boucles créent des clips positionnables individuellement sur ton abim (positionné avec createTextField).