Remplissage combo (liste déroulante) à partir d’une BD MySQL

AUTEUR Code-Codage ~ 10/08/2023
Programmation WLANGAGE Débutant

Remplir un combo ou encore une liste déroulante reviens à charger ce dernier avec des valeurs (Numérique, AlphaNumérique,…) pour permettre ainsi facilité la sélection ou encore le choix de la valeur souhaiter

Découvrons dans cette astuce WinDev comment charger, le champs combo en récupérant des informations provenant depuis la base de données MySQL

Tout d’abord avant de pouvoir remplir notre champs combo, il est préférable d’avoir une base de données MySQL, et nous allons le créer notre base de nommée « Pays » et ensuite créer une tables villes => ID, Villes

CREATE DATABASE Pays;
USE Pays;
CREATE TABLE villes (
ID INT AUTO_INCREMENT PRIMARY KEY,
Ville VARCHAR(255)
);

Maintenant que notre base de données et la table sont créer nous allons maintenant remplir la table ville avec quelques informations

INSERT INTO villes (Ville) VALUES ('Abidjan '), ('Lubumbashi'), ('Kinshasa'), ('Cotonou'), ('Kisangani'), ('Bukavu'); 

La table ville contient maintenant les villes

Créons un projet au dans WinDev ou WinDev Mobile, choisissez un Gabarit et créer une nouvelles Fenêtre, placer ensuite le Champs COMBO renommé le avec le nom au choix

Il maintenant temps de connecter notre application à la base de données MYSQL

Je vous invite à suivre ce tutoriel, comment connecter une application WinDev ou WinDev Mobile à la base de données MYSQL

Connecter Application WinDev Mobile a MYSQL (CRUD Créer, Lire, Modifier, Supprimer) 

https://youtu.be/9KPopETa2q8 

Connecter application WinDev Mobile à MySQL Distant, Générer Apk, Installer et Tester

https://youtu.be/psAybHQdUP0 

Maintenant que notre Application est connectée à la base de données MYSQL, il ne nous reste plus qu’à charger notre champs Combo. Pour ce faire et rendre notre code propre nous allons donc créer une procédure et écrire donc notre code pour récupérer les villes et le charger dans le champ COMBO

PROCÉDUREListe_Villes()
DB:SQLRequete = "SELECT VILLE FROM villes"
SI DB:mySQLExec(DB:SQLRequete, 4) ALORS
      DB:mySQLPremier(4)
      TANTQUE DB:mySQLEnDehors = Faux
            ListeAjoute(NOM_FENETRE.NOM_CHAMP_COMBO, DB:mySQLLitColParNom(4, "VILLE"))
            DB:mySQLSuivant(4)
      FIN
      RENVOYER Vrai
FIN

Un fois que notre procédure est créée est que les codes y sont écrits, la dernière étape est d’appeler notre procédure dans le code de la fenêtre 

PROCÉDUREMaFenêtre()
Liste_Villes()

Exécuter programme en cliquant sur le bouton GO, et voyez-y le résultat attendu



Réponses

Investi
Investi
Friday 17 November 2023, 15:14

J'ai essayé ce code afin de remplir mon combo avec ma base de données Mysql mais rien ne se passe au lancement de mon application….

Code-Codage
Code-Codage
Saturday 18 November 2023, 16:39

Vérifier si vous avez bien détaillé les codes et assurez-vous de placer le nom de la procédure dans le code de la fenêtre.

Si les problèmes persistes, veuillez fournir votre utilisé dans les commentaires afin de mieux trouver les bugs