Récupérer en automatique données SQL dans flash [Résolu]

- 18 mars 2013 à 21:20 - Dernière réponse :  Biumiz
- 27 mars 2013 à 08:35
Bonjour à tous,

J'organise une navigation en flash pour des jeux sur plusieurs scenes :

Scene 1 : la navigation
Scene 2 : les gains accumulés
Scené 3 : le courrier
Scene 4 : je charge mes jeux

Les jeux se suivent les uns derrière les autres. Il faut donc terminé le premier pour passer au suivant.

Dans la scene 4 j'enregistre l'avancement du joueur dans une base SQL.
De flash j'envoie les variables dans php et de php j'enregistre dans base avec une requête SQL;
Jusqulà ça fonctionne.

Parcontre je dois récupérer dans la scene 1 le dernier jeux terminer pour donnée l'accès au jeu suivant.

Je dois interroger la bas SQL avec PHP et envoyer les données vers flash.

J'utilise pour l'instant les codes suivant :
page : retour_increase.php
try { connection à la bdd ....

<?php echo "&niveau_jeux=".$donnees['jeux']."&"; ?>




Dans la frame de la scene 1 du fla :
// on récupère le niveau de jeu
ld=new LoadVars();
ld.onLoad=function(){niveau=this.niveau_jeux;}// niveau est le champ dynamique où s'affiche la valeur
ld.load("http://www.nomsite.fr/chemin/retour_increase.php");


Ce système fonctionne lorsque le niveau est à zéro.

En faisant le premier jeux, dans la scene 4,j'enregistre bien dans la base l'avancement.
Et quand je reviends à la scene 1 pour accéder au jeux suivant, je ne récupère pas la nouvelle valeur enregistrée dans la base.

A vrai dire pour la récupérer je dois appeler dans un nouvel onglet du navigateur le ficher php en saisant l'adresse. Puis rafraichir la page avec l'animation flash.

J'ai cherché en peu partout comment rafraichir cette page php. je suis passé par javascript, la function refresh dans les balises <meta>, la fonction include.

Je ne vois pas comment faire.

Quelqun aurait une solution pour rafraichir cette page php pour récupérer la nouvelle données de la base ?
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
3
Merci
Bonjour,

Merci de m'avoir répondu.

L'objectif est d'enregistrer des informations ou de mettre à jours certains champs de la base de données pour ensuite récupérer ces infos à d'autres endroits du site en flash.

L'objectif est de se passer des fichiers texte ou des cookies.

J'ai finalement réussi à faire mon code.

Dans le fichier php qui enregistre ou update les données, c'est du classique. Donc rien de nouveau (flash->php->SQL).


Par contre dans l'animation flash je récupère mes données de la façon suivante :

Dans le fichier php je recherche mes informations :
// connection à la bdd
// requête
// on affiche la donnée

<?php echo "&niveau_jeux=".$donnees['jeux']."&"; ?>



Il est impératif d'afficher la variable entre " & ".



Dans mon animation flash :

// on récupère le niveau de jeu
ld=new LoadVars();
ld.onLoad=function(){
niveau=this.niveau_jeux;

}
ld.load("retour_increase.php?nocache=" + random(65000));



Dans le code, niveau est la variable AS, et niveau_jeux la variable php.
Sur le serveur, le fichier php est à mettre au même niveau que le fichier swf.
Et faire un nocache et un random dans l'AS.

Ce système me permet d'éviter à la fois de charger le serveur avec des fichiers textes et de rester bloquer par les sécurités activées par les client.

Le seul inconvénient est qu'il faut laisser du temps au serveur pour enregistrer l'information et la restituer.
Donc dans l'animation flash il faut insérer des frame entre le moment où on ordonne l'enregistrement de la donnée et celui où on récupère cette info.

Évidement c'est de l'AS2. Mais c'est une solution intéressante en attendant de passer à l'AS3.

Merci Biumiz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de Biumiz
Messages postés
235
Date d'inscription
lundi 26 février 2007
Dernière intervention
26 mai 2013
- 24 mars 2013 à 12:36
0
Merci
Bonjour,
Je ne comprends pas très bien ce qui est enregistré dans la base.
Et puis "rafraîchir une page php" là non plus je ne comprends pas d'autant que le code php dans ce cas ne génère pas de page à moins que là encore je n'ai pas tout compris.
Est-ce que l'enregistrement écrase des données?
Dans tous les cas il faut indiquer le numéro de la ligne de la bd qu'on veut lire.
Le code flash est-il associé à un évènement?
Il faudrait un peu plus d'informations pour oser une explication.

Pi'ère2
Commenter la réponse de piere2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.