Problème pour modifier une variable [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010
-
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010
-
Hello,
Je dois faire une petite carte en flash, qui envoie les régions sélectionnées à un script php.
Voici le fonctionnement de ma carte avec une seule région:
//J'initialise ma variable
var nyon:Boolean = false; 

//Le bouton qui change l'état de ma variable
bnyon.onRelease = function (){
if (nyon == false){
nyon = true;
this._alpha=50;
}else {
nyon = false;
this._alpha=100;
}
}

//J'ouvre l'objet district qui contiendra les variables à envoyer
var district:LoadVars = new LoadVars() ; 
district.nyon = nyon;
brechercher.onRelease = function () {district.send( "page.php", "_self", "POST" )}

Dans ma "page.php" j'arrive à récupérer la valeur de ma variable mais elle sa valeur ne semble pas changer quand on clique sur le bouton "bnyon". Pourtant si je met la fonction trace() avec la variable "nyon" à l'intérieur, le changement semble se faire. Quelqu'un peut-il m'aider ?

Je suis un débutant en programmation en général et je sais pas trop comment, mais je suis sûr qu'il est possible d'améliorer mon code (il y aura une trentaine de régions et j'ai l'impression qu'il y a un moyen plus simple et plus sûr de gérer l'état des mes régions). J'aimerai faire cette carte le mieux possible, avez-vous des idées pour améliorer le code ?

Merci d'avance.

8 réponses

Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Bonjour,
voilà le code attendu
Je n'ai pas changer grand chose en fait.

stop();

var nyon:Boolean = false;
var morges:Boolean = false;
var jura:Boolean = false;
var ouest:Boolean = false;
var gros:Boolean = false;
var broye:Boolean = false;
var lausanne:Boolean = false;
var lavaux:Boolean = false;
var riviera:Boolean = false;
var aigle:Boolean = false;
var pays:Boolean = false;


bnyon.onRelease = function() {
if (nyon == false) {
nyon = true;
this._alpha = 50;
} else {
nyon = false;
this._alpha = 100;
}
};
bmorges.onRelease = function() {
if (morges == false) {
morges = true;
this._alpha = 50;
} else {
morges = false;
this._alpha = 100;
}
};
bjura.onRelease = function() {
if (jura == false) {
jura = true;
this._alpha = 50;
} else {
jura = false;
this._alpha = 100;
}
};
bouest.onRelease = function() {
if (ouest == false) {
ouest = true;
this._alpha = 50;
} else {
ouest = false;
this._alpha = 100;
}
};
bgros.onRelease = function() {
if (gros == false) {
gros = true;
this._alpha = 50;
} else {
gros = false;
this._alpha = 100;
}
};
bbroye.onRelease = function() {
if (broye == false) {
broye = true;
this._alpha = 50;
} else {
broye = false;
this._alpha = 100;
}
};
blausanne.onRelease = function() {
if (lausanne == false) {
lausanne = true;
this._alpha = 50;
} else {
lausanne = false;
this._alpha = 100;
}
};
blavaux.onRelease = function() {
if (lavaux == false) {
lavaux = true;
this._alpha = 50;
} else {
lavaux = false;
this._alpha = 100;
}
};
briviera.onRelease = function() {
if (riviera == false) {
riviera = true;
this._alpha = 50;
} else {
riviera = false;
this._alpha = 100;
}
};
baigle.onRelease = function() {
if (aigle == false) {
aigle = true;
this._alpha = 50;
} else {
aigle = false;
this._alpha = 100;
}
};
bpays.onRelease = function() {
if (pays == false) {
pays = true;
this._alpha = 50;
} else {
pays = false;
this._alpha = 100;
}
};

brechercher.onRelease = function() {
var district:LoadVars = new LoadVars();
district.nyon = nyon;
district.morges = morges;
district.jura = jura;
district.ouest = ouest;
district.gros = gros;
district.broye = broye;
district.lausanne = lausanne;
district.lavaux = lavaux;
district.riviera = riviera;
district.aigle = aigle;
district.pays = pays;
//district.send("page.php","_self","POST");j'ai mis les slashs pour le test, les enlever pour l'envoi PP
trace(nyon+" "+morges+" "+jura+" "+ouest+" "+gros+" "+broye+" "+lausanne+" "+lavaux+" "+riviera+" "+aigle+" "+pays);//pour le test
};

//Je suppose que le script du php récupère toute ses variables une par une?...PP


bretourner.onRelease = function() {
gotoAndPlay(1);
};


Pi'ère2
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Bonjour,
brechercher.onRelease = function () {
var district:LoadVars = new LoadVars() ;
district.nyon = nyon;
district.send( "page.php", "_self", "POST" )
}

Pi'ère2
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

Hello,
Merci pour cette réponse si rapide, mais je ne pense pas pouvoir utiliser cette technique.
L'idée c'est de pouvoir sélectionner plusieurs régions avant d'appuis sur "brechercher". J'aurais dû le préciser avant, désolé...
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Bonjour
Pourrais-tu expliquer exactement ce que tu cherches à faire parce que ce n'est pas clair et que dans ce cas il n'est pas possible de t'aider utilement.
Le swf communique avec php pour en faire quoi après?
Comme ça en aveugle je dirais qu'il faut que chaque fois que tu clique sur une région tu alimente un tableau
tablo.push(variablerégion)
Une fois tes sélections terminée tu fais une boucle
for(i=0; i<tablo.length; i++){
var district:LoadVars = new LoadVars() ;
district.nyon = nyon;
district.send( "page.php", "POST" )
}
ou alors tu envoi à php tablo et php fait le travail


Pi'ère2
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

Merci,

Pour être plus claire, j'ai publié le .fla à cette adresse:
http://solugest.ch/cartefssf/cartefssf.fla

L'utilisateur sélectionne ces régions désirée et clique sur recherche.
Les variables sont envoyées à page.php pour ensuite les insérer dans un caché, pour en faire une recherche (avec d'autre critères qui n'ont rien a voir avec ma carte en flash).

Je n'ai pas encore testé ta dernière méthode. Peux-tu me dire si elle est adaptée à mes besoins avant que je me lance ?

Merci pour ton aide
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Ok j'ai récupéré le fla.
Je vais regarder cela de plus près.
Ne serait-il pas plus simple de tout traiter dans le swf (à part les connexions au bases avec php comme je le suppose)?
Il n'y aurait qu'un seul point de traitement et tu gagnerais en qualités visuelles et en ergonomie.
En échange de ma modeste "expertise", pourrais-tu allez faire un tour sur ce futur site [url=http://www.com-u-nic.fr/comunic.php][www.com-u-nic.fr/comunic.php] en l'explorant et me remonter tes remarques quand aux besoins d'aide en temps réel et aussi le rendu des couleurs car un très grand nombre d'écrans sont mal paramétrés et j'aimerais trouver un compromis entre le meilleur et le "adapté au plus grand nombre".
D'avance merci.


Pi'ère2
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

Merci.
Mais je préfère ne mettre que la carte en flash. J'utilise le composant community builder de joomla pour faire la recherche ensuite. Certains champs doivent être modifiables depuis d'administration du composant.

Pour ton site je t'envoie un pm.
Messages postés
5
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

Merci ça marche bien !
J'aurais dû y penser