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 :

Extraire données tableau multidimensionnel


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2022
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Extraire données tableau multidimensionnel
    Bonjour à tous
    Je demande votre aide afin de trouver solution à mon problème.

    J'effectue une requête vers une api qui me retourne des données. Les données se présentent sous forme de tableau multidimensionnel et je souhaite extraire certaines données dans un nouveau tableau.

    Le tableau retourné :
    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
    resultat => {
    	  "types": "wisdom:ResultSet",
    	  "counts": 3,
    	  "results": {
    		"data": [
    		  {
    			"id": "c90c7",
    			"type": "pss",
    			"note": 32.45853
    		  },
    		  {
    			"id": "70912c90c7",
    			"type": "seepp",
    			"note": 32.45853
    		  }
    		]
    	  }
    	}
    Le tableau que je souhaite avoir au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    array-final => [
    	         [
    			"numid": "c90c7",
    			"typeinfo": "pss",
    			"notevalue": 32.45853
    		  ],
    		  [
    			"numid": "c945",
    			"typeinfo": "srrr",
    			"notevalue": 32.45853
    		  ]
    	]
    J'essai en vain de le faire et je me retourne vers vous.

    Merci pour votre aide

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 088
    Points : 8 184
    Points
    8 184
    Billets dans le blog
    17
    Par défaut
    Dans ton extrait je ne sais pas trop ce qui relève de la présentation et de la réalité, et dans le résultat final tu demandes un tableau mais illustre un objet. De plus les propriétés n'ont plus le même nom (id devient numid, etc.). Ils ne s'agirait donc plus seulement d'extraction mais aussi de transformation.

    En attendant d'en savoir plus, pour commencer essaie :

    $array_final = $resultat->results->data;

    Si ça ne fonctionne toujours pas colle ici le résultat de print_r($resultat);
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2022
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci pour la reponse. En effet je crois avoir mélangé tableau et object, a vrai dire je n'arrive pour le moment pas a faire la difference entre les 2.
    Les 2 tableaux/object sont des données fictives. Le resultat d'origine est dans le bon format, ce que je souhaite faire c'est transformer ce resultat en recuperant des valeurs precises avec des clés renomé pour un affichage lisible (les clé recu de l'api ne sont pas comprehensible).
    Il se pourrait que je soit amené à boucler sur le resultat final afin d'afficher jeu d'info obtenu.

    En esperant avoir été plus precis, je vous remercie pour votre aide

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 088
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 088
    Points : 8 184
    Points
    8 184
    Billets dans le blog
    17
    Par défaut
    On ne pourra pas t'aider si tu ne donnes pas le print_r() de la data que tu récupères, comme demandé plus haut.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2022
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Désolé j'etais passé sur la question.

    ci dessous le print_r() :
    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
    Array ( 
    		[res:result] => Array (
    			[@graphes] => Array (
    				[0] => Array (
    					[@type] => res:Result [res:score] => 12.326292 [res:resultItem] => Array (
    						[@id] => d19406bed92a [res:label] => Valeur a prendre [res:description] => [res:thumbnail] => https://cdn.xxxx3de.jpg [res:creationDate] => 2015-12-04 
    					)
    				)
    				[1] => Array (
    					[@type] => res:Result [res:score] => 12.326292 [res:resultItem] => Array (
    						[@id] => d19406bed92b [res:label] => Valeur a prendre b [res:description] => [res:thumbnail] => https://cdn.xxxx3de.jpg [res:creationDate] => 2015-12-04 
    					)
    				)
    				[2] => Array (
    					[@type] => res:Result [res:score] => 12.326292 [res:resultItem] => Array (
    						[@id] => d19406bed92c [res:label] => Valeur a prendre c [res:description] => [res:thumbnail] => https://cdn.xxxx3de.jpg [res:creationDate] => 2015-12-04 
    					)
    				)
    				[3] => Array (
    					[@type] => res:Result [score] => 12.326292 [res:resultItem] => Array (
    						[@id] => d19406bed92d [res:label] => Valeur a prendre d [res:description] => [res:thumbnail] => https://cdn.xxxx3de.jpg [res:creationDate] => 2015-12-04 
    					)
    				)
    				[4] => Array (
    					[@type] => res:Result [res:score] => 12.326292 [res:resultItem] => Array (
    						[@id] => d19406bed92e [res:label] => Valeur a prendre e [res:description] => [res:thumbnail] => https://cdn.xxxx3de.jpg [res:creationDate] => 2015-12-04 
    					)
    				)
    			)
    		)
    	)
    Ce que je souhaiterai avoir au final c'est un tableau qui reprend les valeurs de chaque jeu ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "numid": la valeur [@id],
    			"descript": la valeur [res:label],
    			"lien": la valeur [res:thumbnail]
    Merci pour l'aide

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 088
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 088
    Points : 8 184
    Points
    8 184
    Billets dans le blog
    17
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $data = ...; // Tu récupères les données dans un tableau PHP
     
    $result = [];
    foreach ($data['res:result']['@graphes'] as $item) {
        $result[] = [
            'numid' => $item['res:resultItem']['@id'],
            'descript' => $item['res:resultItem']['res:label'],
            'lien' => $item['res:resultItem']['res:thumbnail'],
        ];
    }
     
    print_r($result);
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2022
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    C'est exactement ce que je souhaite. Merci pour l'aide.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2016, 17h30
  2. extraire données d'un tableau dans un fichier texte
    Par cre31400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 29/07/2009, 15h51
  3. Réponses: 6
    Dernier message: 07/03/2009, 19h23
  4. (EXT.js) Extraire donnée d'un tableau lors d'un clic
    Par Trogg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/06/2008, 14h48
  5. type de donnée tableau multidimensionnel
    Par opheliegomes dans le forum Débuter
    Réponses: 2
    Dernier message: 03/02/2005, 12h29

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