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

PHP & Base de données Discussion :

intégrer des données dans BDD MYSQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 36
    Par défaut intégrer des données dans BDD MYSQL
    Bonjour à tous,
    Je fais appel à vos lumières pour résoudre une problématique liée à l'export de données à partir d'une API dont le code généré est en php.Je m'explique :
    J'ai une API : https://bbmc.ouhsc.edu/redcap/api/
    token : 9A81268476645C4E5F03428B8AC3AA7B
    l'API dispose d'une fonctionnalité pour générer un code php pour exporter les données en csv (en pièce jointe)
    Seriez-vous comment utiliser ce code pour intégrer les données dans base de donnée mysql en local (127.0.0.1:35) ?
    Je ne sais pas comment m'y prendre
    En vous remerciant par avance
    DE
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Tu dis que l'API génère du PHP (et pas un simple CSV, bizarre)

    Donne-nous le PHP généré et dis-nous ce qui te bloque

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 36
    Par défaut intégrer des données dans BDD MYSQL
    C'est le fichier en PJ que j'ai envoyé. C'est fichier php qui permet une extraction en csv
    Cdlt

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    si vous cherchez des tutoriels pour utiliser une base de données en php, regardez les premiers liens là :
    https://php.developpez.com/cours/

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par DJ2809 Voir le message
    C'est le fichier en PJ que j'ai envoyé. C'est fichier php qui permet une extraction en csv
    Bon, je suppose
    – que le script PHP joint est censé appeler l'API
    – que l'API renvoie un CSV (et non du PHP)
    – que tu veux insérer le CSV en base

    Du moins d'habitude on procède ainsi.

    Après avoir récupéré la réponse de l'API tu peux utiliser str_getcsv() pour analyser le CSV et utiliser PDO pour faire les INSERT SQL.

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    j'ai récupéré le fichier PHP (exportdata.php) (j'ai supprimé l'espace dans le nom car il ne faut jamais mettre d'espace). Ce code utilise curl, techno que je maîtrise pas du tout. Néanmoins, j'ai vu qu'un des paramètres est l'URL de l'API que tu donnes au post #1. J'y ai rajouté la fonction conseillée par Séb., ce qui donne :
    Code php : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    $data = array(
        'token' => '9A81268476645C4E5F03428B8AC3AA7B',
        'content' => 'record',
        'format' => 'csv',
        'type' => 'flat',
        'rawOrLabel' => 'raw',
        'rawOrLabelHeaders' => 'raw',
        'exportCheckboxLabel' => 'false',
        'exportSurveyFields' => 'false',
        'exportDataAccessGroups' => 'false',
        'returnFormat' => 'csv'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://bbmc.ouhsc.edu/redcap/api/');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
    $output = curl_exec($ch);
    print $output;
    curl_close($ch);
     
    $data = str_getcsv($output);
     
    var_dump($data);
    Ca génère un tableau ($data) de 145 lignes. Pour insérer ces 145 données dans une bdd MySql, il faudrait disposer d'une (ou plusieurs) table(s) et comme le conseille aussi Séb. le faire avec PDO. Maîtrises tu cette techno et as tu ces tables ?

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 36
    Par défaut intégrer des données dans BDD MYSQL
    Bonjour,
    Merci Seb, merci Laurent!
    Franchement je ne maîtrise pas vraiment PDO encore moins le langage .. plutôt des requêtes simples, basiques !!
    J’ai une BDD mysql ( pedmen) avec une table (Tab1)
    Faut il exécuter dans phpmyadmin dans l’onglet requête ? Ou à partir d’un terminal ?
    Merci encore
    DE

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

Discussions similaires

  1. Best practice pour insérer des données dans BDD
    Par legrandse dans le forum Laravel
    Réponses: 5
    Dernier message: 01/10/2019, 16h03
  2. Réponses: 1
    Dernier message: 19/04/2019, 20h33
  3. Réponses: 7
    Dernier message: 24/11/2016, 21h02
  4. [MySQL] S'assurer du bon enregistrement des données dans BDD mysql
    Par lilly91 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/12/2009, 14h14
  5. Réponses: 4
    Dernier message: 10/09/2007, 12h05

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