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

Flex Discussion :

Alimenter combobox avec des données tirées d'une base de données


Sujet :

Flex

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Alimenter combobox avec des données tirées d'une base de données
    Bonjour à tous,

    J'aimerais alimenter un combobox en FLEX par les données tirées du premier champ d'une table de ma base de données MySQL, mais je ne sais pas vraiment comment m'y prendre. Quelqu'un pourrait m'aider s'il vous plait ?? Merci en avance !

  2. #2
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    Salut, concernant ta base de donnée tu peux y acceder de different moyen, moi actuellement j'utilise la librairie ASSQL qui permet une connexion direct à ta base tu trouvera des exemple sur ce site
    Exemple
    La librairie
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Moi, pour la connexion j'utilise AMFPHP. Il n' y a pas de problème au niveau de la rèquête MySQL. Je l'ai tester dans le browser. Je crois que le problème réside dans les codes ACTIONSCRIPT qu'il faut ajouter au fichieer MXML. voici ce que j'ai mis :

    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
    19
    20
    /****************************************************
    * ALIMENTATION DE LA COMBOBOX
    * **************************************************/
    public function alimenterComboFournisseurs():void
    {
    var service:RemoteObject = new RemoteObject();
    service.endpoint = URL;
    service.showBusyCursor = true;
    service.destination="amfphp";
    service.source="ServModAdministration";
    service.serviceComboFournisseurs.addEventListener("result",
    resultatOKComboFournisseurs);
    service.serviceComboFournisseurs.addEventListener("fault", resultatKO)
    service.serviceComboFournisseurs();
    }
    public function resultatOKComboFournisseurs(e:ResultEvent):void
    {
    cmb_fournisseurs.dataProvider = e.result as Array;
    //>> ON SÉLECTIONNE LE PREMIER ENREGISTREMENT DE LA LISTE DÉROULANTE
    cmb_fournisseurs.selectedIndex = 0;
    Apres, au code du canvas j'ai ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <mx:Canvas label="Produits" width="100%" height="100%"
    show="alimenterComboFournisseurs()">
    Dès que je mets la propriété ResultEvent, il génère ce code au début de ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <![CDATA[ import mx.rpc.events.ResultEvent; ]]>
    Et c'est là, à cette ligne qu'il indique qu'il y a une "parse error".
    Mais si je l'enlève (le code généré), cela ne marche pas non plus

    J'espère que je n'ai pas été trop long ...

  4. #4
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    A aucun moment tu fait appelle à ta combo.
    <mx:ComboBox dataProvider=... labelField=...></mx:ComboBox>
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Je crois que c'est ce qu'il fait avec cette fonction (surtout la ligne en gras):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function resultatOKComboFournisseurs(e:ResultEvent):void
    {
    cmb_fournisseurs.dataProvider = e.result as Array;
    //>> ON SÉLECTIONNE LE PREMIER ENREGISTREMENT DE LA LISTE DÉROULANTE
    cmb_fournisseurs.selectedIndex = 0;
    tu penses pas ?

  6. #6
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    Moi je le vois plutôt comme ça:

    dans ton fichier php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function recupListeCombo(){
    $sql = "SELECT id, titre FROM TaTable";
    $req = mssql_query($sql);
      while ($res = mssql_fetch_object($req)) {
          $row->label = $res->titre;
           $row->data = $res->id;
            $ArrayResult[] = $row;
       }
       return $ArrayResult;
     }
    dans ton mxml :

    Action Script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [Bindable]
              private var descriptionDP:ArrayCollection;
     
              // chargement des descriptions combobox
              private function recupListeComboResult(evt:ResultEvent):void
     
              {
                descriptionDP = ArrayCollection(evt.result);
              }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <mx:ApplicationControlBar x="0" y="0" width="100%" cornerRadius="0" height="72">
                                    <mx:ComboBox dataProvider="{descriptionDP}"></mx:ComboBox>
                                 </mx:ApplicationControlBar>
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Ok j'essaye ...

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Mais expliques moi stp. à quel moment tu fais appel à ta fonction PHP dans le code actionscript ??

  9. #9
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    Tu ne fais aucune appel cela doit etre gerer dans ton service-config.xml
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  10. #10
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    Ici un lien avec l'alimentation de differents composant dont une combo
    Exemples AMFPHP
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  11. #11
    Membre actif

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Points : 234
    Points
    234
    Par défaut
    Je découvre Flex par le biais de Flash builder 4, et pour générer des listes j'utilise simplement ce que propose Flash...C'est à dire que je créé un nouveau service php, je renseigne ma base de données etc...puis je place un comboBox où je veux, je sélectionne ma fonction php qui dit de me renvoyer ce que je souhaite, et je la lie sur ma comboBox via le menu (clic droit souris)

    Je sais pas si ça t'aideras :
    Tuto en anglais je précise mais y a des images Ca explique comment alimenter un datagrid, mais c'est la même chose que pour une comboBox.


  12. #12
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Moi je suis sur flex 3, mais je suis entrain d'essayer vos solutions. Je vous tiens au courant. Merci en avance les gars ...

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/12/2012, 16h02
  2. Réponses: 1
    Dernier message: 03/12/2012, 09h34
  3. Réponses: 9
    Dernier message: 11/10/2010, 18h29
  4. Réponses: 1
    Dernier message: 27/07/2009, 14h29
  5. [base de données]partage d'une base de données
    Par Scrusher dans le forum JDBC
    Réponses: 4
    Dernier message: 02/06/2004, 13h33

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