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 :

Sauvegarder des données d'une API en BDD et les afficher


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Par défaut Sauvegarder des données d'une API en BDD et les afficher
    Bonsoir,

    Je me permets de vous soumettre une problématique que je rencontre sur un projet de forum.

    Le but est de sauvegarder les données de l'API de chaque personnage du jeu Apex Legends (le nom et l'image du perso) en BDD dans chaque propriété de l'entité "Subject" reliée à l'entité "Catégory" de l'entrée Personnages, les récupérer et les afficher.

    Voilà schématiquement :

    Ici j'ai mon entité Catégory avec l'entrée Personnages
    Nom : Capture.PNG
Affichages : 269
Taille : 4,2 Ko

    A l'intérieur de cette catégorie j'aurais plusieurs entrées sujets (reliées à l’entité Subject) avec pour propriétés le nom et l'image de chaque personnage

    Ce qui donnera pour rendu final ca :
    Nom : Capture.PNG
Affichages : 263
Taille : 43,9 Ko

    Pour ce faire j'ai travaillé sur l'affichage depuis un autre controlleur et une autre template Twig.

    Voici le code du service ApiLegends

    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
    namespace App\Service;
     
    use Symfony\Contracts\HttpClient\HttpClientInterface;
     
    class ApiLegends
    {
        private $client;
     
        public function __construct(HttpClientInterface $client)
        {
            $this->client = $client;
        }
     
        public function getAllLegends(): array
        {
     
            $response = $this->client->request(
                'GET',
                'https://api.mozambiquehe.re/bridge?version=4&player=heyimlifeline&platform=PC&auth=xxHvYsvRMMYp471ObEO8',
            );
     
            return $response->toArray();
        }
    }
    Le Controller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /**
         * @Route("/api/v1/legends", name="api_v1_legends")
         */
        public function browse(ApiLegends $apiLegends): Response
        {      
     
            $legends = $apiLegends->getAllLegends();
     
            return $this->render('api/v1/browse.html.twig', [
     
                'data' => $legends,
            ]);
        }
    }
    Et ici la Vue Twig

    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {% for key, legend in data.legends.all %}        
                <div class="row border">
                    <div class="item-left col-3">
                        <div class="d-flex">
                            <img class="text-center w-25" src="{{ legend.ImgAssets.icon }}"> 
                            <h2>{{ key }}</h2>
                        </div>

    Aperçu de l'API en JSON que j'ai transformé en tableau pour récupéré les valeurs :

    Nom : Capture.PNG
Affichages : 256
Taille : 7,0 Ko

    Ce qui me donne le résultat que je souhaite, comme montré dans une capture au dessus.

    Maintenant j'aimerais pouvoir récupérer, sauvegarder ces données dans les propriétés de l'entité Subject (name + picture) reliés à la catégorie Personnages et les afficher sur ma vue Twig.

    En espérant avoir été clair et concis, je vous remercie d'avance pour votre aide.
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/08/2015, 23h28
  2. Réponses: 15
    Dernier message: 02/02/2015, 14h44
  3. Sauvegarde des données d'une fenètre JavaFX
    Par bastfiche dans le forum JavaFX
    Réponses: 0
    Dernier message: 23/02/2014, 19h15
  4. [AC-2010] Empécher la sauvegarde des données sur une table liée
    Par gimly90 dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2013, 08h09
  5. Réponses: 3
    Dernier message: 23/10/2010, 20h20

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