Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP][XML] Stworzenie XML, a później pętla w JS
-zasadowy-
post
Post #1





Goście







Cześć, zrobiłem sobie w PHP skrypt, który ściągane dane z tabeli i tworzy XML, ale tutaj mam problem, bo struktura mojego XML chyba nie jest odpowiednia:

  1. <countries>
  2. <country>
  3. <iso>af</iso>
  4. <visitors>5</visitors>
  5. </country>
  6. <country>
  7. <iso>ax</iso>
  8. <visitors>4</visitors>
  9. </country>
  10. <country>
  11. <iso>al</iso>
  12. <visitors>0</visitors>
  13. </country>
  14. </countries>


Następnie w JS, powinna być pętla, która leci przez wszystkie kraje po kolei, najpierw pobiera ich ISO, a następnie jeśli np. visitors > 50, to zmienia tło elementu z takim ID jak ma ISO na czarny, jesli visitors < 50, to zmienia na szary. No i nie wiem jak zrobić to tak, aby pętla działała tak jak napisałem. Kombinuję, kombinuję i nic na nic nie mogę wpaść, bo krajów z kodem ISO jest 249, więc najlepiej byłoby to zrobić pętlą, a nie kopiować kod 249 razy i zmieniać iso na af, ax, au, al itd...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-zasadowy-
post
Post #2





Goście







Wiem, że nadaję ten sam kolor, bo skopiowałem to, aby w ogóle cokolwiek zmieniał. Musiałem nadać data = data.iso_countries, no i teraz przechodzi już przez if'a, no, ale teraz mam taki błąd

TypeError: document.getElementById(...) is null


(no source for debugger eval code)

  1. $(document).ready(function()
  2. {
  3. $.getJSON("results.json", function(data)
  4. {
  5. data = data.iso_countries;
  6. for(var key in data)
  7. {
  8. var iso = data[key].country;
  9. var visitors = data[key].visitors;
  10.  
  11. if( visitors > 1 && 50>=visitors)
  12. {
  13. document.getElementById(iso).style.fill="#94d31b";
  14. }
  15. else if( visitors > 50 && 500>=visitors)
  16. {
  17. document.getElementById(iso).style.fill="#94d31b";
  18. }
  19. }
  20.  
  21. });
  22. });
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 19:00