Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > Dynamique
Dynamique Flash Media Server / Flash Remoting
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2006, 18h14   #1
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Par défaut [FLASH 8] Variable non définie en dehors de la fonction

[Flash 8 Pro]

Bonjour à tous,

J'ai un petit problème..

Je récupère des données à partir d'un script PHP jusque là cela fonctionne bien mais je vais quand même vous mettre mon script.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
// Définir user et mot de passe
$dbLink = mysql_connect('localhost', 'root', '');
// Définir le nom de la base exemple "mabase_db"
mysql_select_db("flash", $dbLink);
// Définir la requête exemple table "pays" et champ "langue"
$Query = "SELECT * FROM cave";
// Résultat dans "$dbResult"
$dbResult = mysql_query($Query, $dbLink);
// Boucle pour remplir un tableau "$mon_tableau" avec le résultat de la requête
while ($rows = mysql_fetch_array($dbResult)){
$mon_Tableau[]=$rows['etat'];
$mon_Tableau[]=$rows['nom'];
$mon_Tableau[]=$rows['couleur'];
$mon_Tableau[]=$rows['cepage'];
$mon_Tableau[]=$rows['vendange'];
$mon_Tableau[]=$rows['vinification'];
$mon_Tableau[]=$rows['mise_bouteille'];
$mon_Tableau[]=$rows['potentiel_garde'];
$mon_Tableau[]=$rows['temperature_service'];
$mon_Tableau[]=$rows['accords'];
$mon_Tableau[]=$rows['descriptif'];
 
}
// Utilisation de la fonction "implode" pour faire du tableau une chaîne avec séparateur
// dans notre cas une virgule "," que l'on récupèrera dans flash avec la fonction split
$data = implode($mon_Tableau, ",");
// varflash nom de la variable qui sera utilisée dans flash
echo("varflash=$data");
?>
Je vais aussi mettre la fonction et les variables dont je me sert pour récupérer les différentes variables de ma base de données.

Code :
1
2
3
4
5
6
7
 
System.useCodepage = true;
var externalData:LoadVars = new LoadVars();
externalData.onLoad = function() {
     var mon_Tableau:Array = externalData.varflash.split(",");
};
externalData.load("tuto-php-mysql-flash.php", "0", "POST");
Le problème c'est qu'une fois en dehors de cette fonction je n'est plus acces à ma viariable mon_Tableau. Celui-ci me permet de récupérer les différents champs envoyé du script PHP.

Je pense que la variable est locale à la fonction mais je voudrais bien pouvoir avoir acces à mon tableau ailleurs que dans celle-ci.

Si vous avez des idées ...

Merci
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 19h16   #2
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
salut,

Tu a raison , " la variable est locale à la fonction"
je pense que si tu ecrit quelques chose dans ce gout là, ca devrai marcher .
Code :
1
2
3
4
5
6
7
8
 
var mon_Tableau:Array=new Array();
System.useCodepage = true;
var externalData:LoadVars = new LoadVars();
externalData.onLoad = function() {
     mon_Tableau = externalData.varflash.split(",");
};
externalData.load("tuto-php-mysql-flash.php", "0", "POST");
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 19h35   #3
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Désolé mais j'ai deja essayé et ca ne fonctionne pas mais merci quand même.....

Si t'as une autre idée... je suis preneur.....
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 19h52   #4
Rédacteur/Modérateur

 
Avatar de arnolem
 
Inscription : février 2005
Messages : 2 798
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2005
Messages : 2 798
Points : 2 673
Points : 2 673
Tu peux définir un objet en Global, de cette manière :
si ça peux t'aider.
arnolem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 19h53   #5
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
ca fonctionne aussi avec les tableaux???????
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 22h26   #6
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Non le passage de varibale global ne fonctionne pas non plus....

Là je bloque je n'ai vraiment plus d'idée....
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 23h08   #7
Rédacteur
 
Avatar de freegreg
 
Inscription : août 2002
Messages : 4 395
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2002
Messages : 4 395
Points : 5 227
Points : 5 227
Salut,

où, quand et comment tu accèdes à ton tableau une fois qu'il a été remplit ?

La solution de CR_Gio devrait marcher.
__________________
Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
Vous voulez partager des ressources concernant les technologies ci-dessus : contactez-moi
freegreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 12h47   #8
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Citation:
Envoyé par freegreg
Salut,

où, quand et comment tu accèdes à ton tableau une fois qu'il a été remplit ?

La solution de CR_Gio devrait marcher.
Pour ce qui est de l'acces a mon tableau je m'en sers dans une autre fonction le problème vient peut être de la....

Il va me servir à la création d'un tableau de bouton en fonction de certaines variables stockées dans la base de données.

Mais dans ce cas je ne sais pas comment pouvoir y acceder.

S'il existe une autre méthode.....
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 13h09   #9
Rédacteur
 
Avatar de freegreg
 
Inscription : août 2002
Messages : 4 395
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2002
Messages : 4 395
Points : 5 227
Points : 5 227
Il faudrait par des trace que tu vérifies que ta fonction qui va lire ton tableau ne s'exécute pas avant que celui-ci soit rempli !
__________________
Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
Vous voulez partager des ressources concernant les technologies ci-dessus : contactez-moi
freegreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 13h37   #10
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
le problème est qu'avec les traces je ne pourrais pas le voir quand je vais le publier. Comme je l'ai noter le tableau se rempli a partir des données qui sont stockées dans la base de données.

Apres test même en dehors de toutes fonction la variable apparait comme undefine...

Comme faire pour donner un ordre de chargement....

Car lors de l'appel de ma fonction avec le OnLoad c'est au chargement mais les autres je ne sais pas trop quand elles sont chargées....
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 13h41   #11
Membre Expert
 
Avatar de Demco
 
Inscription : mai 2002
Messages : 1 396
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2002
Messages : 1 396
Points : 1 411
Points : 1 411
Citation:
Envoyé par Malau
le problème est qu'avec les traces je ne pourrais pas le voir quand je vais le publier. Comme je l'ai noter le tableau se rempli a partir des données qui sont stockées dans la base de données.
Dans ce cas fais le avec une zone de texte, ou tu ajoute la nouvelle info a afficher. Tout est concatene donc tu vois l'ordre de remplissage.

En esperant t'aider.
__________________
J'aime les gâteaux.
Demco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 13h46   #12
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Citation:
Envoyé par Demco
Dans ce cas fais le avec une zone de texte, ou tu ajoute la nouvelle info a afficher. Tout est concatene donc tu vois l'ordre de remplissage.

En esperant t'aider.
Merci donc pour les zones de texte je m'en sert depuis que je me suis appercu que la varibale n'etait pas définie en dehors.

Maintenant je cherche a charger mes fonctions après l'appel de la fonction qui remplie mon tableau...
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 14h02   #13
Membre du Club
 
Inscription : mars 2002
Messages : 52
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2002
Messages : 52
Points : 43
Points : 43
Bon voila apres avoir cherché un peu plus et pour être sur que ma variable tableau soit bien définie en premiere et non définie apres j'ai decidé de mettre mon code sur 2 images.

La première prend mon code ou je charge les données de ma base. donc avec le code que CR_Gio ma gentillement donné.

Et ensuite j'ai juste rajouté ceci..
Code :
1
2
3
4
5
6
7
8
9
10
 
var mon_Tableau:Array = new Array();
System.useCodepage = true;
var externalData:LoadVars = new LoadVars();
externalData.onLoad = function() {
    mon_Tableau = externalData.varflash.split(",");
    gotoAndPlay(2);
};
externalData.load("tuto-php-mysql-flash.php", "0", "POST");
stop();
Voila donc làje suis sur que cette variable est bien définie et qu'elle est bien chargé avant toutes autres fonctions.

Je vous remercie donc tous pour votre aide...

Bien sur je pense que j'aurais d'autres questions par la suite...

Je remerci les modos qui font un super travail...

Bon Courage....
Malau est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h07.


 
 
 
 
Partenaires

Hébergement Web