Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml]wyciaganie kilku danych
Forum PHP.pl > Forum > XML, AJAX > XML
krys121
Od kilku dni kombinuje jak wyciągnąć opis meczu z pliku:
http://www.managerzone.com/xml/match_info....ch_id=305351715
próbowałem już różnych sposobów i zawsze udaje mi się tylko wyciągnąć nazwiska graczów z jednej drużyny. A chciałbym aby to wyglądało tak:
http://www.punishment.managerzone.ys.pl/3.php
czyli aby było:
- drużyna
- gracze - jak jakiś strzelił bramke to ilość przy nim
- druga drużyna
- gracze z drugiej drużyny - jak jakiś strzelił bramke to ilość przy nim

Próbowałem kodem:
  1. <center>
  2. <font color="#000000"><table style="border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: silver" fpstyle="9,011111100" width="520"> <tr>
  3.  <th style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: maroon" width="42"><font face="Verdana" style="font-size: 9pt">Num.</font></th>
  4.  <th style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: maroon" width="197"><font face="Verdana" style="font-size: 9pt">Drużyna</font></th>
  5.  <th style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: maroon" width="50"><font face="Verdana" style="font-size: 9pt">Gol</font></th>
  6.  <th style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: maroon" width="50"><font face="Verdana" style="font-size: 9pt">Sam.</font></th>
  7.  
  8.  </tr></font>
  9. <?php
  10. $dane = simplexml_load_file('http://www.managerzone.com/xml/match_info.php?sport_id=1&match_id=305351715');
  11. $color[1] = '#FFFFEF';  
  12. $color[2] = '#FFFFEF';  
  13. $color[3] = '#FFFFEF';  
  14. $color[4] = '#FFFFEF';  
  15. $color[5] = '#FFFFEF';  
  16. $color[6] = '#FFFFEF';  
  17. $color[7] = '#FFFFEF';  
  18. $color[8] = '#FFFFEF';  
  19. $color[9] = '#FFFFEF';  
  20. $color[10] = '#FFFFEF';  
  21. $color[11] = '#FFFFEF';  
  22. $color[12] = '#FFFFEF';  
  23. $color[13] = '#FFFFEF';  
  24. $color[14] = '#FFFFEF';  
  25. $color[15] = '#FFFFEF';  
  26. $color[16] = '#FFFFEF';  
  27. $color[17] = '#FFFFEF';
  28. $color[18] = '#FFFFEF';  
  29. $color[19] = '#FFFFEF';  
  30. $color[20] = '#FFFFEF';  
  31. $color[21] = '#FFFFEF';  
  32. $color[22] = '#FFFFEF';  
  33. $color[23] = '#FFFFEF';  
  34. $color[24] = '#FFFFEF';  
  35. $color[25] = '#FFFFEF';
  36.  
  37. foreach($dane ->Match as $Match ){ }
  38. foreach($Match ->Team as $Team ){
  39. echo $Team['name'];
  40. }
  41. foreach($Team ->Player as $Player ){
  42. $id = $Player ['shirtno']; $num = ($id % 25); $num = $color[$num]; echo "<tr bgcolor=$num>";
  43. echo "<td><center>".$id."</td><center>"; echo "<td>".$Player['name']."</td><td></td><td></td><tr>";  }
  44.  ?>
  45. </table></center>

Ma ktoś pomysł jak to ugryźć?
erix
Jeśli dobrze myślę, to odwołujesz się bezpośrednio do dzieci n-tego poziomu zapominając o tym, że trzeba najpierw przez rodziców. winksmiley.jpg
krys121
właśnie próbowałem już różnymi sposobami i zawsze albo pokazuje się to co w pierwszym poście albo nic sad.gif

Próbowałem też:
  1. <?php
  2. $mz = simplexml_load_file('http://www.managerzone.com/xml/match_info.php?sport_id=1&match_id=305351715');
  3.  
  4.  
  5.  
  6. $atrs = $mz->Match->Team[0]->Player[5]->attributes();
  7. echo $atrs['name'];
  8. $atrs = $mz->Match->Team->Player[5]->Goals[0]->attributes();
  9. echo $atrs['pro'];
  10.  
  11.  
  12.  ?>
  13.  <?php
  14. $mz = simplexml_load_file('http://www.managerzone.com/xml/match_info.php?sport_id=1&match_id=305351715');
  15.  $atrs = $mz->Match->Team[0]->Player[4]->attributes();
  16. echo $atrs['name'];
  17. $atrs = $mz->Match->Team->Player[4]->Goals[0]->attributes();
  18. echo $atrs['pro'];  ?>

I wtedy jak zawodnik strzelił bramkę to jest dobrze, ale jak nie strzelił to zwraca błąd, a nigdy nie będzie wiadomo kiedy gracz strzelił bramkę i nie mogę co mecz zmieniać plik php bo to nie miało by sensu
erix
  1. <?php
  2. (string)$mz->Match->Team[0]->Player[4]['name']
  3. ?>

winksmiley.jpg
krys121
Nie kapuje do końca. Nadal nie chce mi sie pojawić kto ile strzelił w formie jaką dałem w pierwszym poście sad.gif
erix
Bo to trzeba się trochę namęczyć. tongue.gif

Pętla foreach" title="Zobacz w manualu PHP" target="_manual Ci się przyda.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.