Salut à tous ceux qui veulent bien m'aider.
Voila , je voudrais créer un menu dynamique dans flash via une requete sql dans un fichier php.
La requete et le code php ne me posent pas de soucis.
j'obtiens des variables en sortie :
n ---nombres de resultats de la requete
rubid ---- un champs int
rubname ---- nom de la rubrique
j'envoie au fichier php la varible catid via flash
voici le code php
<?php
mysql_connect($host,$user,$pass);
mysql_select_db("$bdd");
$qr = mysql_query("SELECT * FROM Rubriques where catid = '".$HTTP_POST_VARS['catid']."'");
$nrows = mysql_num_rows($qr);
$rString = "&n=".$nrows;
for ($i=0; $i < $nrows; $i++) {
$row = mysql_fetch_array($qr);
$rString .= "&nb=2&rubname".$i."=".$row['Rubname']."&rubid".$i."=".$row['Rubid'];
}
echo $rString;
?>
d'apres ce que j'ai compris dans flash je dois faire en sorte de recevoir les variables du fichiers php
et ensuite faire en sorte de dupliquer un clip contenant un bouton dont le champ texte à une instance par exemple "text" qui recevera la variable rubname et un lien me permettant de passer le rubid à un fichier php pour afficher d'autres données.
En gros je n'arrive pas a dupliquer le clip en fonction du nombre de resultats de la requete et à mettre le rubname dans le champ texte du bouton flash et de creer dynamique le bon lien.
j'ai utilisé le code ci dessous pour faire un menu mais il n'y a pas de roll over sur mes liens vu que j'affiche la totalité du code retourné dans un champ texte donc l'instance est "text".
ce dode fonctionne mais ce n'est pas ce que je veux en final.
function envoieparam(paramString) {
var params = paramString.split("#");
intro = "0";
rubid = unescape(params[0]);
loadMovieNum("bloc_texte.swf", 1, "GET");
loadMovieNum("sous_menu.swf", 3);
loadMovieNum("titres_verti.swf", 4, "GET");
}
function showContent() {
var i;
text.htmlText = "";
for (i=0; i<this.n; i++) {
text.htmlText += "<b>"+"<a href='asfunction:envoieparam," + this["rubid"+i] + "#" + escape(this["rubid"+i]) + "'>"+this["rubname"+i]+"</a></b><br>";
}
}
var c = new LoadVars();
c.catid = 2;
c.sendAndLoad("monfichier.php",c,"POST");
c.onLoad = showContent;
System.useCodePage = true;
Je peux egalement dupliquer un clip "menuMC" via ce code
mais là ça ne marche que si la varible total est en dure par exemple :
total=5;
là le clip sera dupliqué 5 fois mais si je fais :
total=n;
(suivant ma valeur du nombre de resultat de la requete) là ça ne marche pas.
for (i=1; i<=_root.total; ++i) {
//duplicate movie clip
menuMC.duplicateMovieClip("menuMC"+i, i);
//set new position
this["menuMC"+i]._y = this["menuMC"+(i-1)]._y+this["menuMC"+(i-1)]._height;
this["menuMC"+i].choice = i;
//create a variable to record the levels of the created MCs
levelTrack = i;
}
Voila mon gros soucis.
Peut etre que j'applique une mauvaise methode pour arriver à mes fins.
Ce serait super d'avoir un coup de main :o)