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

Langage PHP Discussion :

cURL PHP récupérer les valeurs d'un SQL QUERY en json


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2013
    Messages : 23
    Points : 22
    Points
    22
    Par défaut cURL PHP récupérer les valeurs d'un SQL QUERY en json
    Bonjour,



    Je ne parviens pas à obtenir les données d'une base de données distante en json, j'obtiens un "plain text" malgré ce code :

    Code : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    header("Access-Control-Allow-Origin: *");
    header("Content-Type: application/json; charset=UTF-8");
    header("Content-Type: application/json");
    header("Access-Control-Allow-Methods:  GET, POST, PATCH, PUT, DELETE, OPTIONS");
    header("Access-Control-Max-Age: 3600");
    header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
    //header('Content-Type: text/html; charset=utf-8');
     
    $data = urlencode('SELECT Nom, Prenom, email FROM clients');
     
     
    $url='https:xxxxxxxxdata='.$data;
     
    $ch = curl_init($url);
    $data = array(
    	'nom' => 'nom',
    	'prenom' => 'prenom',
    	'email' => 'email'
    );
     
    $data_json = json_encode(array("customers" => $data));
     
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
     
    $res = curl_exec($ch);
    $err = curl_error($ch);
    $contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
    // echo $contentType;
     
    curl_close($ch);
     
    if ($err) {
      echo "cURL Error #:" . $err;
    }
     
    else {
        echo $res;
    }

    Le resultat me renvoie un "text/plain" - string de type :



    Nom Prenom email
    SURxxx JEAN-BAPTISTE xxxxxxxxxxxxxx
    PINxxx LAURENT xxxxxxxxxxxxxx
    EXCxxx EVELYNE xxxxxxxxxxxxxx



    Merci d'avance !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : si tu accèdes à l'url directement via un navigateur tu reçois bien du JSON ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2013
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    J'ai toujours l'affichage d'un string/text/plain :
    Nom	Prenom	         email
    SUREAU    JEAN-BAPTISTE	xxx@xxx.com
    PINEAU    LAURENT	xxx@xxx.com
    EXCOFFON  EVELYNE	xxx@xxx.fr
    Il s'agit d'une requête SQL => SELECT nom, prenom, email FROM table.
    Le résultat affiche un string contenant les columns : Nom | Prenom | Email.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour autant que je sache, si l'url appelée retourne du texte, ce n'est pas l'appel cURL qui va magiquement le transformer en JSON.

    Donc soit tu as un moyen de modifier le script appelé pour qu'il renvoie du JSON, soit tu lis le format reçu et tu le convertis.

    Si tu veux avoir du JSON en sortie du script, il faut que tu parses le texte que ton url te renvoie pour construire un json. Il y a un séparateur dans ton texte ? une tabulation, quelque chose ?
    Si oui, tu peux le parser ligne à ligne via str_​getcsv
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/02/2010, 18h25
  2. [POO] Récupérer les valeurs d'un objet en PHP
    Par latristef01 dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2008, 16h11
  3. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 13h27
  4. Réponses: 11
    Dernier message: 26/04/2007, 10h40
  5. [PHP-JS] Récupérer les valeurs des checkbox
    Par jamirokoi dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 16h24

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