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

 Delphi Discussion :

Récupérer résultat requête PHP


Sujet :

Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2021
    Messages : 164
    Points : 187
    Points
    187
    Par défaut Récupérer résultat requête PHP
    Bonjour,

    J'ai besoin d'accéder à une base de données qui se trouve chez mon hébergeur, seulement celle ci n'est accessible que localement . J'ai donc pensé (corrigez moi si je me trompe) que des scripts PHP seraient la meilleure façon d'accéder à ces données et de les modifier.

    Pour ce qui est des INSERT et UPDATE je n'ai pas de soucis pour les gérer (avec Indy), en revanche, je n'ai aucune idée de comment récupérer le résultat d'une requête, j'ai cherché un petit peu sur Google mais pour l'instant ça ne donne rien, il me semble qu'avec REST on peut faire ce genre de choses, mais son utilisation est encore flou pour moi .

    Si vous avez quelques liens qui pourraient m'être utile, je vous en serais très reconnaissant .

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 634
    Points : 25 349
    Points
    25 349
    Par défaut
    Ne pense pas SQL pour ton API, fait des routes CRUD, le verbe HTTP indiquera ce qu'il faut faire
    Voir cela comme un service business et pas juste comme un proxy SQL
    Le retour REST c'est un simple JSON
    mais tu peux retourner du XML un peu comme du SOAP ... d'ailleurs un XSLT sur un XML on peut générer du format DFM Texte (je l'ai pratiqué en 2007 sur D7)
    Ou même une structure maison mais là c'est risqué en terme de temps de dev, de robustesse ...



    Il y a tellement de tutoriel pour crérer un serveur REST en PHP, tu as l'embarrassas du choix
    Test tout avec POSTMAN

    Ensuite TRESTClient, TJSONObject ... c'est trivial.

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    il faudra que je trouve un jour le temps de faire un framework PHP qui soit compatible avec les composants Delphi...

    en attendant je fais ce dont tu parles quotidiennement avec des requêtes HTTP côté Delphi et des réponse JSON du côté PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
      $data = fetchAll("SELECT ...");
      Header('Content-Type: application/json');
      die(json_encode($data));
    côté Delphi de parse le JSON avec mon unité maison, au lieu d'utiliser les composants REST.

    (fetchAll c'est une fonction PHP maison qui récupère dans un tableau toutes les lignes de la requête SQL)

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2021
    Messages : 164
    Points : 187
    Points
    187
    Par défaut
    je fais ce dont tu parles quotidiennement avec des requêtes HTTP côté Delphi et des réponse JSON du côté PHP
    C'est exactement ce que je cherchais! Un grand merci

    Pour le fetchall, j'ai trouvé un bout de code qui semble correspondre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $pdo = new PDO("mysql:dbname=database;host=127.0.0.1", "user", "password");
    $statement = $pdo->prepare("SELECT * FROM table");
    $statement->execute();
    $results = $statement->fetchAll(PDO::FETCH_ASSOC);
    $json = json_encode($results);
    Reste plus qu'à tester tous ça !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/10/2012, 22h34
  2. [AC-2003] Récupérer résultat requête dans zone de texte
    Par hyperion13 dans le forum VBA Access
    Réponses: 4
    Dernier message: 05/04/2010, 17h11
  3. [WD15] Récupérer résultats requête SQL par un webservice
    Par fucce dans le forum WinDev
    Réponses: 12
    Dernier message: 16/02/2010, 14h17
  4. récupérer résultat requête
    Par mmb04 dans le forum JDBC
    Réponses: 3
    Dernier message: 23/04/2007, 14h52
  5. Réponses: 2
    Dernier message: 03/05/2006, 08h22

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