|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Salut,
Je rencontre un probleme pour récupérer les données d'un flux xml (un flux pour un livescore). Pour le parser, j'utilise un parser que j'ai trouvé sur le forum (celui de macbook) : http://www.developpez.net/forums/viewtopic.php?t=458490&highlight=parser+php Pour afficher les données, j'utilise ce code : Code :
http://www.smcaen.com/test.html Je ne sais pas comment récupérer les données pour chaque sport / pays / division / rencontre. Les noms des différents sports s'affichent correctement... mais comment récupérer les autres données ? J'aimerais à terme que le livescore ait cette allure : http://betandwin.enetpulse.com (faites un copier/coller du lien dans votre navigateur sinon ça ne fonctionnera pas). Merci pour votre aide ! |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : février 2006 Messages : 840 ![]() |
là c'est davantage un problème de manipulation de tableau que de parsage.
Si tu n'es pas coutumier des tableaux multidimensionnels, commences par parcourir ton tableau avec un foreach, et de descendre petit à petit dans ton tableau en récupérant le nom des indices.
__________________
Consultant idéaliste. |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Citation:
Lorsque l'on fait un : foreach ($xml['sport'] as $value) { ... } Cela parcours les données du tableau jusqu'à ou ? Comment faire pour récupérer toutes les données de chaque catégorie ? Je ne sais pas comment m'y prendre. |
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 59 ![]() |
salut Samuel
foreach permet de parcourir les elements d'un seul tableau. toi, tu possède, un tableau dans un tableau dans un tableau dans un tableau. tu doit donc faire un foreach dans un foreach dans un foreach. n'oubli pas que print_r est ton amis[code]<?php echo '<pre>'.htmlentities(print_r($xml,true)).'</pre>'; abuse-en, tu risque de trouver la solution tout seul... |
|
|
00
|
|
|
#5 | |||||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Je viens de comprendre le principe des tableaux multidimensionnels. En tout cas, je sais comment récupérer telle ou telle valeur
Exemple pour le premier enregistrement, du premier sport, de la première catégorie, de la première division, du premier match : Code :
Code :
J'ai essayé avec foreach ($xml['category'] as $category) sans le [$i] mais ca ne change rien. (PS : je n'ai pas remplacé les valeurs du foreach dans le code... je le ferai après). Erreur : Citation:
|
|||||
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Bon, j'ai réussi à ne plus avoir l'erreur.
J'arrive à afficher les différents sports... maintenant j'essai d'afficher les différentes "category" pour chaque sport, mais je n'y arrive pas mon code actuel : Code :
echo ''.$xml['sport'][$i]['category'][$j]['name'].'<br />'; Je ne sais pas comment employer les valeurs définies dans le tableau qui sont générées en php. J'utilise $i et $j, mais ca ne fonctionne pas. Il me retourne toujours la meme valeur : Code X :
Au niveau du deuxième foreach, seriez vous comment faire en sorte qu'il utiliser les bonne valeurs ? comme ça il affichera les noms de chaque catégorie. |
||||
|
|
00
|
|
|
#7 | ||||
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 59 ![]() |
bah oui mais non
un fois que tu fait Code :
donc ton foreach suivant sera Code :
|
||||
|
|
00
|
|
|
#8 | |||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Je viens de remplacer le $xml['sport'] par $value dans tout le code, et ça affiche une notice au lieu des données :
Citation:
Code :
|
|||
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 59 ![]() |
essaye
Code :
si tu souhaite utiliser $xml dans tout tes foreach (pratique pour modier les valeurs) je te conseil d'extraire aussi les cléfs dans le foreach. |
||
|
|
00
|
|
|
#10 | ||||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Lorsque je fais un :
Code :
Code X :
C'est normal qu'il n'y ait aucune données ? |
||||
|
|
00
|
|
|
#11 | ||||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 16 ![]() |
Ca y est j'ai réussi à utiliser la valeur $value => $xml['sport']
J'en suis à ce stade : Code :
Code X :
Le script n'affiche pas le nom des pays pour le handball et le floorball... il n'affiche pas non plus toutes les divisions pour chaque pays... Je ne comprends pas/plus... pourquoi ca ne fonctionne pas ! Je pense avoir tout fait comme il le fallait... foreach dans foreach dans foreach :p
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com