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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    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 éclairé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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
    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

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    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 éclairé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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
    Par défaut
    A aucun moment tu fait appelle à ta combo.
    <mx:ComboBox dataProvider=... labelField=...></mx:ComboBox>

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    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 éclairé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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
    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>

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