[Flash AS3 et MySQL] Récupération de données

Fermé
DiMa2gio Messages postés 8 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 19 mars 2011 - 18 mars 2011 à 19:17
DiMa2gio Messages postés 8 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 19 mars 2011 - 19 mars 2011 à 13:00
Bonjour,

j'ai fais une animation dans Flash en AS3 qui permet de déplacer des clips et d'enregistrer leurs positions dans MySQL grace à PHP.
Quand j'essaye mon animation presque tout fonctionne :
*Je peu déplacer mes clips,
*Je peu sauvegarder leurs positions,
*Mais quand je réactualise, le script récupère les positions mais il y a toujours un ou plusieurs clips qui ne sont pas au bon endroit !

Pourtant,
si je sauvegarde les positions dans un fichier php(qui se comporte comme un fichier .txt, c'est juste que j'ai mis .php en extension), l'animation fonctionne à merveille.

D'où cela peut il provenir ? Avez vous des explications comme par exemple mauvais encodage du texte ou bien avez vous besoin de mes codes pour mieux y voir ?


A voir également:

1 réponse

DiMa2gio Messages postés 8 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 19 mars 2011
19 mars 2011 à 13:00
J'ai un début de réponse, mais j'ai quand même besoin d'aide :

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 :
<?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 :
<?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.
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 ?

Je pense que cela est peut être dû au "&", mais dans ce cas pourquoi quand je fais ma sauvegarde sur un fichier php comme ca ça marche ? :

<?php

foreach($_POST as $name=>$value)
{
$temptxt=$temptxt.$name."=".$value."&";
}
$temptxt=substr_replace($temptxt ,"",-1);

//file_put_contents('coordonnees/joueur1.php',$temptxt );

?>
0