récupérer données dans une base de données phpMyAdmiin
Bonjour,
Por gérer mes données domotique, mes automates inscrivent des données dans une base de données.
Je voudrais récupérer ces données dans une vue sur iPhone.
J'ai bien crée une page php qui récupère ces données mais je n'arrive pas à les récupérer dans mon programme et donc dans des variables.
Quelqu'un peut-il orienter mes recherches ?
Merci d'avance
Jean-Luc
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu as crées un WebService permettant à l'iPhone de faire des requêtes sur ta BdD ?
Tu communiques via WiFi/IP ?
Je n'ai rien crée pour l'instant.
Et je communique en IP.
Ta page php doit te renvoyer des données simples, du style JSON, avec les infos que tu veux dedans..
Ton code iOs doit faire une requête sur la page php, récupérer le résultat (le JSON) et l'interpréter pour en faire ce que tu veux après.
Pour l'instant, ma page php me renvoie une page html, mais je n'ai pas trouver le moyen de la récupérer dans mon programme.
Et question à 10 balles : pourquoi tu ne vas pas directement faire tes query sur la DB depuis l'iPhone ?
Sinon après il faut que tu fasse un WebService qui te permet de faire du REST.
Peux-tu me donner quelques infos sur la façon de constituer cette requête ?
Oui mais ça va deÌpendre surtout du type de DB qui se trouve derrieÌ€re tout ça.
En gros est-ce qu'on est devant un mySQL, un PostgreSQL, une MongoDB, etc... ? Un fois que tu nous auras donneÌ cette information on pourra t'aiguiller correctement.
Ma Bdd est sur Nas crée avec phpMyAdmin.
Et mes requêtes doivent se faire en mySQL
Maintenant il faut que tu trouve un framework pour connecter une base MySQL en Swift ou ObjectiveC.
Comme tu as un NAS tu peux t'amuser à installer Docker dessus et eÌcrire un WebService avec le framework Vapor qui propose un driver MySQL. Docker te permettra de deÌployer le WebService sur ton NAS.
Une fois que tu as un WebService tu peux aller chercher tes informations en REST. Comme ça tu eÌvite de balader les logins/pass de ta DB dans un iPhone et le processus est plus leÌger.
Sinon adapte un driver MySQL (celui de Vapor par exemple) pour faire des queries directement depuis ton device.
Il y a un serveur Web installé sur le Nas.
Ma page php me retourne par exemple une page html du genre
En-tête de la page extraction des données
{[{"id":"1","Portail":"ferme","garage":"ferme","Rdc":"allume"}]}
fin de la page extraction des données
Mais je butte sur le fait de récupérer les données dans mon prog iPhone pour les afficher proprement (enfin si c'(est possible)
Là : {[{"id":"1","Portail":"ferme","garage":"ferme","Rdc":"allume"}]} (enfin, à un truc près), c'est du JSON que tu peux parser.
Maintenant, la question est, est-ce que tu peux le faire depuis l'extérieur.
Je peux le faire en interne ou de l'extérieur
Pour faire une requête et interroger un serveur, perso j'utilise Alamofire, que je couple avec Alamofire synchronous, pour faire des requêtes synchrones (ça attend la réponse du serveur avant de continuer).
Pour traiter le JSON reçu, j'utilise SwiftyJSON.
Regarde leur doc, c'est assez simple à mettre en oe“uvre
Je vais regarder
Merci