J'ai créer un Drag & Drop en AS3 qui enregistre les positions des clips (11) sur MySQL via PHP, mais je rencontre un problème :
*Déplacement des clips [fonctionne]
*Sauvegarde des positions grâce au bouton sauvegarder [fonctionne]
*Récupération des positions enregistrées sur MySQL [fonctionne, mais défaut]
Le défaut c'est qu'il y a toujours un clip qui n'est pas à la bonne position.
J'ai un début de réponse :
Quand je déplace mes clips et que j'appuie sur sauvegarder flash envoi les positions à php qui les récupère de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php foreach($_POST as $name=>$value) { $temptxt=$temptxt.$name."=".$value."&"; } $temptxt=substr_replace($temptxt ,"",-1); if( get_magic_quotes_gpc() == true ) { $temptxt = stripslashes($temptxt); } $sql="INSERT INTO matchs (composition) VALUES ('" . mysql_escape_string(utf8_decode($temptxt)) . "')"; $req = mysql_query($sql) or die ('Erreur SQL!<br />'.sql.'<br />'.mysql_error()); ?>
Ce qui écrit dans MySQl les positions sous cette forme :
Exemple :
j4Y=263.5&j10X=376.95&j5X=74.95&j10Y=199.5&j5Y=28.5&j11X=301.95&j6X=131.95&j11Y=144.5&j1X=15&j6Y=147&j1Y=147&j7X=200.95&j2X=59&j7Y=231.5&j2Y=193&j8X=195.95&j3X=60&j8Y=60.5&j3Y=101.5&j9X=326.95&j4X=74.95&j9Y=7.5
Puis un autre php me récupère les positions enregistré sur MySQL comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $sql = "SELECT composition FROM matchs ORDER BY id DESC LIMIT 1"; $req = mysql_query($sql) or die ('Erreur SQL!<br />'.sql.'<br />'.mysql_error()); while($data = mysql_fetch_assoc($req)){ $d = (utf8_decode($data['composition'])); echo $d; } ?>
et enfin flash récupère les positions depuis ce code php et positionne les clips en fonction, sauf pour un clip qui ne sera pas placer correctement.
Ce clip sera le premier de la liste des positions enregistrer.
Dans mon exemple du dessus ce sera j4Y
En gros la position y de j4 ne sera pas 263.5, mais... 0 !
Pourquoi 0 ?
Pourquoi le clip ne prend pas la position initiale comme quand il n'y a pas de sauvegarde au lieu de 0 ?
A savoir :
si je sauvegarde les positions dans un fichier .php au lieu de MySQL comme cela :
L'animation fonctionne sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php foreach($_POST as $name=>$value) { $temptxt=$temptxt.$name."=".$value."&"; } $temptxt=substr_replace($temptxt ,"",-1); file_put_contents('coordonnees/joueur1.php',$temptxt ); ?>
Ne trouvant pas de réponses ailleurs je me suis dis qu'il y aura bien quelqu'un pour m'aider sur le forum des professionnels de l'informatique.
Partager