IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH MX2004] Mysql recuperer donnée combobox côté serveur


Sujet :

Flash

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut [FLASH MX2004] Mysql recuperer donnée combobox côté serveur
    Bonsoir tt le monde voila en fait je developpe un portail web (je debute...) sur la page principale je mets une animation flash sur laquelle sont disposés quelques ComboBox flash standard et 1 bouton, derrière j'ai une base de données Mysql quelques scripts php permettant la connexion et d'autre operations sur la BD...
    L'idée serait que lors du clic sur le bouton, je prenne les valeurs des ComboBox et que je puisse les passer en parametre a une requete.
    Je ne pense pas avoir de probleme côté SQL, mon principale souci est le code du bouton sous flash.

    Pour avoir une idée plus claire n'hesitez pas a visiter la page en question cliquer sur le 3ème bouton www.khadimate.ift.fr

    merci pour toutes vos contributions

  2. #2
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    il faut que tu regarde du coté de la classe LoadVars et la méthode sendAndLoad

    @++
    Libzippp (C++)
    Lost in AStorm

  3. #3
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    j'ai jeté un coup d'oeil du côté de la FAQ mais j'ai pas pigé grand chose... un peu plus d'implication ne serai pas de refus ni superflue

  4. #4
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    re,

    alors un petit exemple simple de communication : d'abord notre php, qui va récupérer une variable (envoyée par flash) et afficher un résultat (que l'on va récupérer dans flash)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $varRecup = $_POST["testVariable"]; //testVariable est le nom que l'on va donner dans flash
     
    if $varRecup > 10
    {
       echo "&résultat=0";
    }
    else
    {
       echo "&resultat=1";
    }
     
    ?>
    et du coté de flash c'est vraiment tout simple :
    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
    var lv:LoadVars = new LoadVars();
    lv.testVariable = 1000; //la variable (on peut en mettre plusieurs) que l'on envoie
    //lv.testVariable2 = 233; //pour l'exemple d'une autre variable :)
    lv.onLoad = function(ok:Boolean):Void
    {
       if (ok)
       {
          trace(this.resultat); //variable retournée par php
       }
       else
       {
          trace("erreur");
       }
    }
     
    //et on envoie !
    lv.sendAndLoad("lePhp.php", lv, "POST");
    @++
    Libzippp (C++)
    Lost in AStorm

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    Yop yop !

    Tu peux utiliser plusieurs méthodes pour ça.

    METHODE 1 :
    ---------------
    Définit quelques variables dans _root représentant la valeur affichée actuellement dans les différentes ComboBox. C'est à dire, lorsque ta combobox change de valeur, ça met à jour cette variable.

    Ensuite, dans ton onRelease() du bouton, appelle simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    getURL("adresse/du/script.php", "_blank", "POST");
    Ici j'ai mis "_blank", si t'as fait du HTML tu sais que ça ouvre le résultat dans une nouvelle fenêtre. Sinon t'as les autres valeurs possibles.
    "POST" est évidemment la méthode pour passer les variables.

    Cette fonction envoie a ton script php les variables définies dans _root, et dans php tu y accèdes par $ma_var, comme d'hab.

    METHODE 2 :
    ---------------
    Méthode plus "à la main" que l'autre.
    Dans ton onRelease() du bouton, appelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _root.loadVariables("adresse/du/script.php?var1=" + combobox.value + "&var2=" + combobox.value);
    Pareil, tu y accèdes dans php comme d'hab avec $var1 et $var2.

    NOTA : il peut être nécessaire de faire un escape de ce que t'envoies depuis Flash afin d'éviter les mauvaises surprises.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var a_envoyer:String = escape(combobox.value);

    Voilà je crois de mémoire que c'est grosso modo ça la méthode.

    J'espère que ca t'aidera.

    Lideln

  6. #6
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    re,

    Citation Envoyé par Lideln
    METHODE 1 :
    ---------------
    Définit quelques variables dans _root représentant la valeur affichée actuellement dans les différentes ComboBox. C'est à dire, lorsque ta combobox change de valeur, ça met à jour cette variable.

    Ensuite, dans ton onRelease() du bouton, appelle simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    getURL("adresse/du/script.php", "_blank", "POST");
    Ici j'ai mis "_blank", si t'as fait du HTML tu sais que ça ouvre le résultat dans une nouvelle fenêtre. Sinon t'as les autres valeurs possibles.
    "POST" est évidemment la méthode pour passer les variables.

    Cette fonction envoie a ton script php les variables définies dans _root, et dans php tu y accèdes par $ma_var, comme d'hab.
    mouais pas top... le getURL t'ouvres une fenêtre avec ta page php De plus il n'est pas recommendé pour la transmission de variables.

    Citation Envoyé par Lideln
    METHODE 2 :
    ---------------
    Méthode plus "à la main" que l'autre.
    Dans ton onRelease() du bouton, appelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _root.loadVariables("adresse/du/script.php?var1=" + combobox.value + "&var2=" + combobox.value);
    Pareil, tu y accèdes dans php comme d'hab avec $var1 et $var2.

    NOTA : il peut être nécessaire de faire un escape de ce que t'envoies depuis Flash afin d'éviter les mauvaises surprises.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var a_envoyer:String = escape(combobox.value);
    ouhouh celle-la tu la mets tout de suite à la poubelle ^^ C'est une méthode dépréciée depuis Flash MX ! Elle a été totalement remplacé par la classe LoadVars qui permet bien plus de choses

    @++

    ps. graaaaa un _root !!!!
    Libzippp (C++)
    Lost in AStorm

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    mouais pas top... le getURL t'ouvres une fenêtre avec ta page php De plus il n'est pas recommendé pour la transmission de variables.
    Ca ne te l'ouvre que si tu demandes, avec le "_blank" que j'ai mis. Si tu mets "", ça ne t'ouvre rien du tout. Donc aucun problème.

    ouhouh celle-la tu la mets tout de suite à la poubelle ^^
    Par contre pour ma part j'utilise la méthode 2 car elle permet aussi de récupérer des variables, et jusqu'à présent ça marche parfaitement donc c'est pour ça que je me suis permis de proposer cette méthode.

    Si j'avais eu des pb avec une de ces méthodes je n'aurais pas pris la liberté de proposer voilou.

    A+

    Lideln

  8. #8
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    re,

    Citation Envoyé par Lideln
    Ca ne te l'ouvre que si tu demandes, avec le "_blank" que j'ai mis. Si tu mets "", ça ne t'ouvre rien du tout. Donc aucun problème.
    vu sous cet angle, pas de souci

    Citation Envoyé par Lideln
    Par contre pour ma part j'utilise la méthode 2 car elle permet aussi de récupérer des variables, et jusqu'à présent ça marche parfaitement donc c'est pour ça que je me suis permis de proposer cette méthode.

    Si j'avais eu des pb avec une de ces méthodes je n'aurais pas pris la liberté de proposer voilou.
    alors je te conseilles vivement de changer et d'utiliser la méthode que je cite plus haut car en utilisant la méthode loadVariables, non seulement c'est déprécié mais en plus tu fait abstraction de toute la logique POO qui a été pensée via la classe LoadVars ! Cette classe offre vraiment beaucoup plus de possibilités que loadVariables, je te l'assure ^^

    @++
    Libzippp (C++)
    Lost in AStorm

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    Re,

    En effet, j'ai regardé ton code et cette méthode n'a pas l'air mal du tout .
    Je pense que je vais changer ça dans mon code heheeee ^^

    Par contre une question qui a rien à voir avec Flash, mais il paraît que sur ta page perso Free tu peux pas mettre les droits en 777, or c'est une obligation pour utiliser les fonctions d'upload ?

    (en fait je travaille en ce moment sur un projet perso, pendant mon temps libre... un site qui fasse "un peu" comme meetic mais en tout gratuit quoi, voilou et donc yaura besoin d'upload les photos des membres, et si Free le permet pas.... aie aie aie)

    a+

    Lideln

  10. #10
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    re,

    prends un hébergeur digne de ce nom Si tu veux faire un site un tant soit peu sérieux, une adresse en .free.fr ca le fait pas déjà à la base et si en plus tu ne peux pas faire ce que tu veux....

    @++
    Libzippp (C++)
    Lost in AStorm

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    Hum...

    Ben disons que c'est mon premier projet web (j'ai fait un site en Flash pour mon cousin mais me suis pas occupé de l'hébergement, et le "dynamisme" reposait uniquement sur XML, donc pas de pb du côté de php ou autre...).

    Si jamais ce projet que j'ai commencé voit vraiment le jour, je tiens à ce qu'il soit totalement gratuit, justement parceque je considère que faire payer à chaque membre entre 10€ et 30€ par mois pour juste un accès à une base de données.... Voili voilou !
    Donc du fait que ce sera totalement gratuit (SI ca voit le jour, je le répète :p), je n'aurai pas trop les moyens de me payer un hébergeur payant (surtout que j'ai 1Go et même 10Go avec Free), et payer le nom de domaine etc.

    Si jamais ta des tuyaux la dessus j'écoute tout ce que tu pourras m'apprendre sur le sujet, au moins j'y verrai plus clair

    Merki, et a+

    Lideln

  12. #12
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    re,

    bah moi j'ai bien un hébergeur pour faire tous mes tests et autres, ca me coute 200.- CHF par année C'est pas bien énorme et je fait ce que je veux dessus (bon c'est pas un serveur dédié non plus hein).

    @++
    Libzippp (C++)
    Lost in AStorm

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    Re,

    Ben ne serait ce que 200.-CHF (soit 800FF ou bien 120€) c'est ptet pas "énorme" mais c'est quand même une petite somme pour un étudiant comme moi...

    Je vais jeter un coup d'oeil sur quelques sites pour voir...

    Bien le bonjour à la suisse

    Lideln

  14. #14
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    heu...ifrance c'est pas mal comme hebergeur gratuit je ferme la parenthèse les gars voyez pas que je me concentre la????
    m'envais poluer vos post moi aussi de ce pas !!!

  15. #15
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    the captain y'a des trucs que j'ai pas compris (faut etre patient avec moi chui un peu lent )
    tout d'abord concernant le côté flash
    the captain code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lv.testVariable = 1000; //la variable (on peut en mettre plusieurs) que l'on envoie
    //lv.testVariable2 = 233; //pour l'exemple d'une autre variable :)
    la variable en question ou plutot les variables il faudra que je les rapatrie a partir des combobox il faudra utiliser un tableau dans ce cas? un tableau de quoi si oui? les combobox ne contiennent que des chaines.
    comment je fais pour recuperer les données dans les combobox??? occurence_de_cmbbox.getItemAt() ???

    trace(this.resultat); //variable retournée par php
    je ne comprends pas cette ligne c'est quoi trace??? this pointe vers quoi?

    et pis derniere question (concernant le côté flash ) c'est quoi ce language c'est de l'action script??? jamais vu cette syntaxe (simple curiosité)

  16. #16
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Du coté php cette fois
    the captain code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    if $varRecup > 10
    {
       echo "&résultat=0";
    }
    else
    {
       echo "&resultat=1";
    }
     
    ?>
    deux questions:
    pk tester sur $varRecup?
    que va afficher echo "&résultat=0"; ???

  17. #17
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    j'ai legerement changé le code de the captain:
    coté flash
    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
    var lv:LoadVars = new LoadVars();
    lv.testVariable =Cmb1.getItemAt(0) ;
    lv.onLoad = function(ok:Boolean):Void
    {
       if (ok)
       {
          trace(this.resultat); //variable retournée par php
       }
       else
       {
          trace("erreur");
       }
    }
     
    //et on envoie !
    lv.sendAndLoad("lephp.php3", lv, "POST");
    avec sur le combobox Cmb1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    on(open){
      GetUrl("lephp.php3");
    }
    coté php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $varRecup = $_POST["testVariable"]; //testVariable est le nom que l'on va donner dans flash
     
    if ($varRecup > 10)
    {
       echo "&résultat=0 <br>";
    }
    else
    {
       echo "&resultat=1<br>";
    }
    echo $varRecup;
    ?>
    ça a l'air de marcher suf que pour la derniere ligne du php ça m'affiche: [object Object]
    je pige po trop a vrai dire priere de repondre aux question precedente pour que je puisse y voir plus claire

  18. #18
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    c'est bon ça marche la il me manquait juste un au niveau de mon .fla
    mcii tt le monde
    p.s: par contre je ne mets pas resolu tt de suite j'attends tjrs les reponses a mes questions...

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/04/2009, 13h58
  2. Recuperer données dans un combobox
    Par aoking dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/04/2007, 11h56
  3. [FLASH MX2004 PRO] Recuperer le code source d'une page
    Par adilou1981 dans le forum Flash
    Réponses: 9
    Dernier message: 26/07/2005, 18h11
  4. [FLASH MX2004] Lancer un clip depuis une combobox
    Par Sorento dans le forum Flash
    Réponses: 5
    Dernier message: 18/06/2005, 23h52
  5. Réponses: 2
    Dernier message: 29/05/2005, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo