Données PHP dans Flash

cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011 - 17 janv. 2008 à 10:48
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011 - 2 févr. 2008 à 17:31
Bonjour, je tiens à préciser que cela fait 2 jours que je cherche sur le net une réponse que je n'ai pas trouvé.
Je décide donc de poser ma question sur le forum.

J'ai un PHP (counter.php) qui renvoie à flash le nombre de fichiers qui se trouve dans un dossier (ecouter):

<?php
$count =0;
$dir = opendir("ecouter" )or die("erreur ouverture du dossier" );
while($file = readdir($dir))
{
 if(!is_dir($file))
 {
  $count ++;
 }
}
echo "&count_file=".$count;
?>

Je récupère les données dans flash :

var php_load = new LoadVars();
php_load.load("counter.php" );
 
php_load.onLoad = function() 
{
    totaltitre.text = this.count_file;
    testtitre = totaltitre.text;
}

Dans flash j'ai un champs de texte dynamique (totaltitre)qui récupère les données (count_file).
Jusque là pas de soucis.
J'ai un autre champs de texte dynamique (testtitre) qui récupère les données de "totaltitre.text", mais flash m'affiche soit "undefined" ou "_level0.totaltitre"
Je veux pouvoir augmenter ou diminuer la valeur de "testtitre" à l'aide d'un "testtitre = testtitre+1"J'ai essayer : "Number(testtitre) totaltitre.text", "testtitre Number(totaltitre.text)", ainsi qu'avec "eval", "string", mais ça marche pas.

Quelqu'un sait d'ou vient le problème ?
Merci beaucoup

13 réponses

nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
17 janv. 2008 à 22:32
Salut
php.onLoad = function(success:Boolean)
{
    if(success)
    {
       totaltitre.text = this.count_file;
       testtitre.text = this.count_file;
    {
}
eval sert a caster une chaine de caractere en un objet (MovieClip,etc) , et non a executer un code

si tu as encore des undefined c que tu as un probleme cote php, parce que la variable count_file est mal parse. dans ce cas verifie le retour php en rajoutant la ligne suivante dans le if(success) :

trace(php)
je suis heureux de faire partie d'une grande famille ...!
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
18 janv. 2008 à 09:22
Salut et merci de ton aide.
J'ai dû remanier quelque peut ton script car sinon j'avais droit à un "level0."

Cela donne donc :

php.onLoad = function(success) {
    if (success) {
       totaltitre.text = this.count_file;
       testtitre.text = this.count_file;
    }
}

Hélas, les données s'affichent correctement mais impossible de faire quoi que se soit avec !
Je m'explique :
je récupère du PHP la variable "count_file" qui a comme valeur "3". Mon champ de texte dynamique qui s'appel "totaltitre.text" m'affiche bien "3".
Je voudrais pourvoir faire un if avec "totaltitre.text", genre :

if ( newvariable < totaltitre.text ) {
        newvariable = newvariable +1;
    }
}

Le problème est que "newvariable" ne change pas !
Je pense que c'est un truc tout bête, mais je sèche !

As-tu une idée ?
Merci
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
18 janv. 2008 à 15:10
Salut

var newvariable:Number = 0;
var temp:Number = parseInt(totaltitre.text);

if( !isNaN(temp) && newvariable<temp) ++newvariable;

j'espere avoir aide, salut

je suis heureux de faire partie d'une grande famille ...!
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
18 janv. 2008 à 16:18
Merci de ton aide, j'ai pas réussi à faire fonctionner ton script mais tu m'a quand même donner la solution : parseInt
Il fallait juste que je rajoute ça.

Encore merci et dès que j'ai fini mon appli, je la diffuse sur le site !
[file:///C:/Users/BILLIAU/Documents/Divers/ecole%20ferry/lecteur%20basic%20-%20FERRY/lecteur.swf ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
23 janv. 2008 à 14:40
Re-bonjour.
Bon ça avance mais très doucement. Je bloque sur un nouveau problème !
Voici mon code PHP :

<?
$count =0;
$dir=opendir("ecouter" )or die("erreur ouverture du dossier" );
while ($file = readdir($dir))
{
 if($file != '..' && $file !='.' && $file !='')
               { 
  if(!is_dir($file))
  {
  $count ++; 
  echo "&name_file=".$file;
                                 }
                 }
 }
echo "&count_file=".$count;
echo "&name_file=".$file;
closedir($dir);
?>

Lorsque je lance ce PHP, j'ai bien tous les noms de fichiers, qui se trouvent dans le dossier, qui s'affichent ; ainsi que le total de fichiers.

Par contre la dernière ligne echo "&name_file=".$file; ne fonctionne pas ! C'est pourtant la même que celle qui se trouve plus haut ?

Merci
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
23 janv. 2008 à 19:48
Salut,
tu sais en mettant ton &name_file plusieurs fois tu reecris par dessus la meme variable : tu corrompts les donnees au parsing du LoadVars. Soit tu regroupes les nom de fichiers en une seule variable ou , et
je te le conseille vivement pour eviter tout ce tralala, tu formates ta sortie au complet en format xml.

mets moi la totalite de ton code et si tu veux bien je le corriges en live pour te montrer comment le format xml pourrait etre assez facile.

je suis heureux de faire partie d'une grande famille ...!
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
24 janv. 2008 à 10:50
Merci pour ton aide.
J'ai réussi à faire fonctionner le PHP, et ça donne ça :

<?
$count =0;
$dir=opendir("ecouter" )or die("erreur ouverture du dossier" ); 
while ($file = readdir($dir))
{
 if($file != '..' && $file !='.' && $file !='')
               { 
  if(!is_dir($file))
  {
  $count ++;
  $titre[$count] = $file; 
  echo $titre[$count];
                                 }
                 }
 }
echo "&count_file=".$count;
echo "&name_file".$count."=".$titre[$count];
//echo "&name_file2=".$titre[2];
closedir($dir);
?>

Je travail maintenant sur la récup de ces données dans Flash. J'ai un petit truc à régler mais cela semble fonctionner.
Merci
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
24 janv. 2008 à 11:17
C'est encore moi... j'ai un petit soucis du coté de Flash.
Alors voila, je récupère les données &name_file de mon PHP, sachant qu'il y a autant de &name_file que de fichiers se trouvant dans le dossier. Actuellement j'ai 3 fichiers dans le dossier. Donc j'ai &name_file1 ainsi que &name_file2 et enfin &name_file3.
Dans Flash si je crais un champs de texte s'appelant name_file1 ou name_file2 ou name_file3 j'ai bien les données qui s'affichent.
Mais je veut créer un champs name_file avec une incrémentation de 1 à chaque fois que je cliquerais sur un bouton.
J'ai essayé ça : mavariable = name_file+pisteson; ( pisteson étant mon incrémentation avec comme variable 1) mais j'ai NaN qui s'affiche.
Et ça : mavariable = parseInt(name_file+pisteson)
et aussi ça  : mavariable = parseInt(this.name_file)+_root.pisteson;
ainsi que plusieurs dizaine de combinaison avec Number, String,  mais j'ai dû raté quelque chose car j'ai toujours NaN
Normalement mavariable devrait être égale àname_file1 mais pas moyen d'y arriver !

Avez-vous une idée ?
Merci.
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
24 janv. 2008 à 21:01
Salut,

var mavariable:String = String(name_file.toString() + pisteson.toString());

je suis heureux de faire partie d'une grande famille ...!
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
25 janv. 2008 à 10:53
Je n'ai plus le NaN mais à la place j'ai ça :

level0.mavariable

Je continu à chercher en essayant de modifier ton code.
Encore merci pour ton aide.
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
25 janv. 2008 à 11:30
J'ai essayé ça :

mavariable.text = String(this.name_file.toString() + pisteson.toString());

et à la place de NaN j'ai undefined1
Bon, ben, c'est toujours pas ça ! Je continu les recherches...
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
29 janv. 2008 à 09:47
Ben ben tant pis, je laisse tomber, j'y arrive pas !!! Plus je cherche et plus je reviens en arrière. Pour preuve, le PHP qui semblait fonctionner, ne renvoie plus que la dernière valeur. Moi qui pensait être tranquille avec ce PHP et pouvoir me concentrer sur le Flash... Concernant le Flash, j'ai résussi à obtenir que mon champs de texte affiche name_file1 ou name_file2 suivant le nombre de fichier se trouvant dans le dossier, mais j'arrive pas à convertir se texte en donnée.

Je mets en ligne pour ceux que ça intéresse les sources.
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
2 févr. 2008 à 17:31
Ca y est ça marche !
La source est en ligne : Lecteur MP3 PHP
0
Rejoignez-nous