Witam,
Zbudowalem skrypt pobierajacy wyniki z pliku XML i wrzucajacy go do bazy Mysql, wszystko dzialalo do czasu gdy chcialem ja wzbogacic o funkcje liczenia wynikow z takim samym atrybutem, tutaj sie zacielem i mimo 2 godzin probowania roznych rozwiazan zaczerpnietych z google ciagle nie jestem w stanie tego zrobic. Szablon xml wyglada mniej wiecej tak:

  1. <MainResults><Results><Person>
  2. <Name>User1</Name>
  3. <Position>1</Position>
  4. <Points>1</Points>
  5. <Data num="1" p="1">88</Data>
  6. <Data num="2" p="2">70</Data>
  7. <Data num="3" p="2">70</Data>
  8. <Data num="4" p="1">70</Data>
  9. <Data num="5" p="1">70</Data>
  10. <Status>None</Status>
  11. </Person>
  12. <Person>
  13. <Name>User2</Name>
  14. <Position>2</Position>
  15. <Points>0</Points>
  16. <Data num="1" p="2">89</Data>
  17. <Data num="2" p="1">69</Data>
  18. <Data num="3" p="1">70</Data>
  19. <Data num="4" p="2">70</Data>
  20. <Status>None</Status>
  21. </Person>
  22. </Results>
  23. </MainResults>


Wyniki pobierane sa dla kazdej osoby dlatego stosuje pętle na Person.

  1. foreach ($dane->MainResults->Results->Person as $wyni){
  2. echo $wyni->Name;
  3. }


W ten sposob pobierany jest kazdy pojedynczy atrybut taki jak Name, Position, Points itp
Teraz chcialbym pobrac informacje ile razy dana osoba miala p=1 w Data. Zrobilem cos takiego ale wyskakuje blad ze w niedozwolonym miejscu uzylem zanku rowna sie. Czy ktos jest w stanie mi z tym pomoc?

  1. foreach ($dane->MainResults->Results->Person as $wyni){
  2. echo COUNT($wyni->Lap[p=1]);
  3. }