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







Zrobiłem to z JSON, no i struktura JSON jest

{"iso_countries":[{"country":"af","visitors":"0"},{"country":"ax","visitors":"0"},{"country":"al","visitors":"0"} ... itd ]}

Taki mam kod jak patrzyłem na przykładach rozwiązań z internetu, no i wiem, że nie działa, bo kolor w SVG się nie zmienia, wiecie co jest nie tak?

  1. $(document).ready(function()
  2. {
  3. $.getJSON("results.json", function(data)
  4. {
  5. for(var key in json)
  6. {
  7. var iso = json[key].country;
  8. var visitors = json[key].visitors;
  9.  
  10. if( 50 > visitors > 1)
  11. {
  12. document.getElementById("iso").style.fill="#94d31b";
  13. }
  14. else if( 500 > visitors > 50)
  15. {
  16. document.getElementById("iso").style.fill="#94d31b";
  17. }
  18. }
  19.  
  20. });
  21. });
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: 15.10.2025 - 03:40