J'ai un petit soucis pour reprendre dans mon flash un fichier xml generer par php avec appel a une base de donnees.
je m'explique.
j'ai un flash (un player son) qui reprends un fichier xml (playlist). ca ca marche quand j'y touche pas !
jusque la tout va bien.
sauf que j'ai plusieurs albums, et que je voudrais generer le fichier "playlist.xml" en fonction de l'id de mon album ramené de ma base (ex : .../playlist.php?idalbum=$idalbum).
donc, apres surfage intense sur ces si bons forums de comment ca marche, j'ai reussit a creer un script playlist.php qui me genere automatiquement mon fichier "playlist.xml" en fonction de l'id passer dans l'adresse.
jusque la ca va aussi.. le fichier xml s'affiche bien dans mon explorateur. donc ca marche. il a la bonne structure et tout, nikel.
dans mon fichier playlist.php,j'ai mis un redirect a la fin vers le fichier playlist.xml, en me disant qu'une fois executer par l'appel de flash, hop, il renverrai direct vers mon fichier playlist.xml en toute transaprence et voili !
mais que neni !!!!
si je genere la playlist.xml avant, mon flash va bloquer sur celle qui est générée, mais nela recreera pas a la demande...
je vous mets les codes :
ma page playlist.php :
<?php
// info connexion table...
$db = mysql_select_db($db_name, $link);
$query = "select * from $table_name where idalbum=$idalbum order by piste asc";
$result = mysql_query($query, $link) or die("Impossible d'interroger la base de données");
$num = mysql_num_rows($result);
if ($num != 0)
{
$file= fopen("playlist.xml", "w");
$_xml ="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n";
$_xml .="<playlist>\r\n";
while
($row = mysql_fetch_array($result))
{
if ($row["idalbum"]=8)
{
$_xml .="\t<chanson num=\"".$row["piste"]."\" nom=\"".$row["mtitre"]."\" fichier=\"http://moije4.free.fr/sons/nbecoute.php?idmedias=".$row["idmedias"]."\">";
$_xml .="\t</chanson>\r\n";
}
}
$_xml .="</playlist>";
fwrite($file, $_xml);
fclose($file);
//echo "Le fichier XML a etait créé <a href=\"playlist.xml\">playlist.xml.</a>";
echo '<script language="Javascript">
//<!--
document.location.replace("http://moije4.free.fr/sons/xml/playlist.xml");
// -->
</script>';
}
else
{
echo "erreur";
}
?>
et ensuite le code de mon flash :
Code : Tout sélectionner
playlist_xml = new XML();
playlist_xml.ignoreWhite = true;
playlist_xml.onLoad = function(ok) {
if (ok=true) {
playliste = this.firstChild.childNodes;
premiere = this.firstChild.firstChild;
enCours = premiere;
for (i=0; i<playliste.length; i++) {
liste.addItem(enCours.attributes.num+"-"+enCours.attributes.nom, enCours.attributes.fichier);
enCours = enCours.nextSibling;
}
}
quantite=liste.getLength();
suivant=Math.ceil(quantite*Math.random());
liste.setSelectedIndex(suivant-1);
};
var PlayListChoice = _root.idalbum;
playlist_xml.load('http://moije4.free.fr/sons/xml/playlist.php?idalbum="+_root.idalbum+"'); //localisation du fichier xml
je me demande en fait pourkoi la il ne recupere pas ma playlist apres un redirect dans le lien php, alors que dans mon fichier xml je lui enoi le meme typed'info avec un compteur de lecture et ilme renvoi monmp3 normalement ?
mercide m'aider si vous le pouvez,je suis sur que c tres con,mais vu que j'y connais rienen action script, un peu plus en php, et quechien xml, ca m'aiderai biena avancer!!!
merci d'avance !
[/code][/php]