Dans ce nouveau tutoriel, je vous propose de découvrir ensemble comment connecter une Application créer en WinDev Mobile à la base de données MYSQL, et par ce même pratique nous allons aborder les 04 opérations de base (CRUD)...
===========================================================
Copier - Coller ce lien dans votre navigateur
Télécharger le fichier php4WX-9.2.0.14 : http://code-codage.com/forum
Télécharger le projet : https://www.dropbox.com/s/tg0ppa0awxkqmx7/CRUD_AppMobile.rar?dl=0
===========================================================
Fichier CnxDatabase
CnxDatabase est une Classe
// Hériter les propriété de la classe c_Php4WX
hérite c_Php4WX
// Déclaration des variable public
PUBLIC
m_sServeur, m_sUtilisateur, m_sMotdePasse, m_sBasedeDonne sont des chaînes
FIN
PROCÉDURE Constructeur()
///////////////////////////////////////////////
//Initialisation dans le constructeur
//////////////////////////////////////////////
//Initialisation des constantes de classe c_php4WX
:TypeBase = "PDOMySQL"
:CleCryptage = "CLE_CRYPTAGE"
:CryptRetour = Faux
:CrypteReq = Vrai
:methodeZip = Faux
:dataHexa = Faux
:modeUTF8Entree = Vrai
:modeUTF8Sortie = Faux
:charset = "utf-8"
:alphabet = alphabetUTF8
//Initialisation des variable de connexion
m_sServeur = "http://127.0.0.1/php4wd.php"
m_sUtilisateur = "root"
m_sMotdePasse = ""
m_sBasedeDonne = "inscription"
//Connexion a la base de donnée
mySQLConnecte(m_sServeur,m_sUtilisateur,m_sMotdePasse,m_sBasedeDonne)
//Vérification de la connexion
SI mySQLErreur ALORS
Info(mySQLGetErrorMessage())
FIN
CRUD
CRUD est une Classe
// Hériter la classe CnxDatabase (classe de connexion à la base de donnée)
hérite CnxDatabase
//Déclaration des variables PRIVE
PRIVÉ
m_sNom est une chaîne
m_sEmail est une chaîne
m_sMdp est une chaîne
m_xPhone est un numérique
// Déclaration de la variable requeteSQL
PUBLIC
m_sRequetSQL est une chaîne
FIN
PROCÉDURE Constructeur(nomUtilisateur, emailUtilisateur, mdpUtilisateur, phoneUtilisateur)
////////////////////////////////////////////////////////
//con troller tout les champs, obligatoire qu'il soit non vide
////////////////////////////////////////////////////////
SI nomUtilisateur = "" ET emailUtilisateur = "" ET mdpUtilisateur = "" ET phoneUtilisateur = "" ALORS
// Affichage d'un message avertissement
Info("Veuillez remplir les champs")
FIN
////////////////////////////////////////////////////////
//Initialisation des paramètre du constructeur
////////////////////////////////////////////////////////
//Suppression des caractères dans le nom
m_sNom = SansCaractère(nomUtilisateur,"?!*$£¤^<>")
//Vérification si l'adresse mail est valide (Méthode d'expression régulière)
SI VérifieExpressionRégulière(emailUtilisateur, "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") = Vrai ALORS
m_sEmail = emailUtilisateur
FIN
//Hash le mot de passe (Crypte le mot de passe)
m_sMdp = HashChaîne(HA_SHA_160, SansEspace(mdpUtilisateur))
//Vérifie si le numéro est numérique
SI PAS EstNumérique(phoneUtilisateur) ALORS
Info("Numéro phone invalide")
SINON
m_xPhone = phoneUtilisateur
FIN
PROCÉDURE Enregistrement()
////////////////////////////////////////////////////////
//Partie manipulation des données dans la BDD
////////////////////////////////////////////////////////
// Vérification si l'adresse mail existe déjà
//Préparation de la requête
m_sRequetSQL = "SELECT * FROM utilisateurs WHERE email = '" + m_sEmail + "'"
//Exécution de la requête
mySQLExec(m_sRequetSQL, 1)
//Compte le nombre des ligne, si l'on trouve un enregistrement
SI mySQLGetNumRows(1) = 1 ALORS
Info("Cette adresse mail est déjà utilisée")
SINON
// Préparation de la requête et enregistrement dans la BDD
m_sRequetSQL = "INSERT INTO utilisateurs (nom, email, pass, phone) VALUES('"+ m_sNom +"', '"+ m_sEmail +"', '"+ m_sMdp +"' , '"+ m_xPhone +"')"
mySQLExec(m_sRequetSQL, 1)
Info("Enregistrement fait avec succès")
FIN
Bouton Enregistrer
//Créer un objet
//Instancier la classe
clNouvelEnregistrement est un CRUD(SAI_Nom, SAI_Adresse_mail,SAI_Mot_de_passe, SAI_Téléphone)
clNouvelEnregistrement.Enregistrement()
Procédure fenêtre App
PROCÉDURE MaFenêtre()
//Créer un objet
//Instancier la classe
clConnexionDatabase est une CnxDatabase