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

EDI, CMS, Outils, Scripts et API PHP Discussion :

récupérer des valeurs précises d'une API avec cUrl


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2019
    Messages : 61
    Par défaut récupérer des valeurs précises d'une API avec cUrl
    Bonjour,

    Voila je rencontre un petit problème avec mon code. Vous allez peut-être me prendre pour une débile par ce que c'est tout simple mais je suis débutante et je ne sais pas encore comment bien me servir de tout ça....

    Je fais un appel à une API avec de récupérer des valeurs. Cependant cela me retourne plusieurs tableaux avec des clefs etc et je ne comprends pas très bien comment récupérer seulement certaines valeurs.... Voilà comment je récupère mes infos de l'API:

    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
    public function testAffichageOrigines() {
            $cookies_file ='cookiesTest2.txt';
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies_file);
            curl_setopt_array($curl, array(
                CURLOPT_URL => "http://varlot.epfprojets-sceaux.com:8080/Origines",
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_ENCODING => "",
                CURLOPT_MAXREDIRS => 10,
                //CURLOPT_TIMEOUT => 0,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => "GET",
            ));
            $parsee=json_decode(curl_exec($curl), true);
            curl_exec($curl);
            $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
           /* foreach ($parsee as $result){
                echo '<p>'.$result.'</p>';
    
            }*/
    ​
    ​
           // echo $http_code;
    ​
            print_r($parsee);
     
            curl_close($curl);
           // echo $response;
        }

    et cela me renvoie
    Array ( [Commercial] => Array ( [0] => Autre [1] => Communication [2] => Mise au point [3] => Non prise en compte impératif technique [4] => Rédaction des documents NC ) [Serrurerie] => Array ( [0] => Autre [1] => Conditionnement [2] => Coupe [3] => Dimensionnel [4] => Marquage [5] => Perçage [6] => Pliage [7] => Soudure ) [Chargement] => Array ( [0] => Autre [1] => Erreur magasinier [2] => Erreur référence [3] => Mauvais colisage [4] => Mauvaise destination [5] => Mauvaise manipulation [6] => Pièces manquantes ) [Débit] => Array ( [0] => Autre [1] => Coupe [2] => Grenaillage [3] => Imbrication [4] => Marquage [5] => Opérateur [6] => Perçage [7] => Pliage [8] => Scribing ) [Sous traitants] => Array ( [0] => Autre [1] => Conception [2] => Destruction ou perte [3] => Document [4] => DSTV NC [5] => Erreur déssinateur [6] => Fabrication NC [7] => Livraison [8] => Montage [9] => Plan ) [BE] => Array ( [0] => Autre [1] => Documentaire [2] => DSTV NC [3] => Erreur conception [4] => Erreur humaine [5] => Logiciel [6] => Plan NC ) [Montage] => Array ( [0] => Autre [1] => Communication [2] => Pièce manquante [3] => Pièce monteur [4] => Pièce non-conforme [5] => Prescellement ) [Reception] => Array ( [0] => Aspect [1] => Autre [2] => Commande [3] => Coupe [4] => Dimension [5] => Documentaire ) [Peinture] => Array ( [0] => Aspect Visuel [1] => Autre [2] => Mauvaise teinte ) [Assemblage] => Array ( [0] => Autre [1] => Boulonnage [2] => Dimensionnel [3] => Marquage [4] => Rivetage [5] => Soudure [6] => Stockage ) )

    Ce qui plus joliement est:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
        "Commercial": [
            "Autre",
            "Communication",
            "Mise au point",
            "Non prise en compte impératif technique",
            "Rédaction des documents NC"
        ],
        "Serrurerie": [
            "Autre",
            "Conditionnement",
            "Coupe",
            "Dimensionnel",
            "Marquage",
            "Perçage",
            "Pliage",
            "Soudure"
        ],
        "Chargement": [
            "Autre",
            "Erreur magasinier",
            "Erreur référence",
            "Mauvais colisage",
            "Mauvaise destination",
            "Mauvaise manipulation",
            "Pièces manquantes"
        ],
        "Débit": [
            "Autre",
            "Coupe",
            "Grenaillage",
            "Imbrication",
            "Marquage",
            "Opérateur",
            "Perçage",
            "Pliage",
            "Scribing"
        ],
        "Sous traitants": [
            "Autre",
            "Conception",
            "Destruction ou perte",
            "Document",
            "DSTV NC",
            "Erreur déssinateur",
            "Fabrication NC",
            "Livraison",
            "Montage",
            "Plan"
        ],
        "BE": [
            "Autre",
            "Documentaire",
            "DSTV NC",
            "Erreur conception",
            "Erreur humaine",
            "Logiciel",
            "Plan NC"
        ],
        "Montage": [
            "Autre",
            "Communication",
            "Pièce manquante",
            "Pièce monteur",
            "Pièce non-conforme",
            "Prescellement"
        ],
        "Reception": [
            "Aspect",
            "Autre",
            "Commande",
            "Coupe",
            "Dimension",
            "Documentaire"
        ],
        "Peinture": [
            "Aspect Visuel",
            "Autre",
            "Mauvaise teinte"
        ],
        "Assemblage": [
            "Autre",
            "Boulonnage",
            "Dimensionnel",
            "Marquage",
            "Rivetage",
            "Soudure",
            "Stockage"
        ]
    Cependant ce que je voudrais faire c'est récupérer seulement la liste des origines, c'est a dire les clefs de chaque tableau pour ensuite lorsque qu'une certaine clef est sélectionnée en récupérer les valeurs.
    Les clefs sont les origines et les valeurs sont les sous origines. Comment récupérer la liste de chaque ? Je pensais faire un for mais je n'en sais pas plus, je ne vois pas quoi mettre dans la condition du for ni à l'intérieur de la boucle....

    Je ne sais pas si j'ai été très claire... en tout cas merci pour votre aide !

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 667
    Par défaut
    pour savoir comment parcourir le tableau, vous pouvez vous inspirer des exemples de code dans la documentation :
    https://www.php.net/manual/fr/contro...es.foreach.php

    Ensuite le plus important pour comprendre ce qui se passe est d'afficher le contenu des variables utilisées. Si elles ne contiennent pas l'information attendue, il faut ensuite remonter à l'endroit où la variable a été modifiée et continuer l'affichage de la même façon.
    En PHP, vous pouvez essayer cette fonction qui affichera un grand nombre de contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function aff($var) {
    	echo "<pre>";
    	echo htmlspecialchars(var_export($var, TRUE));
    	echo "</pre>";
    }

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si l'api que tu utilises ne permet pas de sélectionner uniquement certaines données (via un paramètre spécifique ou une url) c'est à toi de gérer l'ensemble des données qu'elle te retourne et donc de garder que ce dont tu as besoin.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2019
    Messages : 61
    Par défaut
    Merci à tous pour vos réponses, j'ai finalement récupéré toutes les valeurs en même temps et j'ai récupéré celles que je voulais en HTML à l'aide de twig !

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

Discussions similaires

  1. [XL-2013] Transférer des valeurs à partir d'une ligne avec des cellules fusionnées
    Par polote0 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/09/2019, 11h16
  2. Réponses: 24
    Dernier message: 14/03/2015, 09h09
  3. récupérer des valeurs pour une semaine donnée
    Par duck54 dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/05/2006, 01h13
  4. Réponses: 2
    Dernier message: 12/04/2006, 10h00
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

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