Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP]komunikacja z API JSON
Forum PHP.pl > Forum > Przedszkole
wpaski
Jest jakiś plik json z danymi, powiedzmy ze np.
http://ergast.com/api/f1/2004/1/results.json

chcę wyświetlić listę tych kierowców czyli:
imię nazwisko
(givenName "Michael"
familyName "Schumacher")

itd.

to są linki (powiedzmy u mnie na stronie sobie je wyświetlę)i i po kliknięciu pokazuje się strona (nowy adres url) z danymi szczegółowymi kierowcy,
pytanie jak najlepiej rozwiązywać taki problem?
jedyny sposób dla mnie najprostszy to - parsowanie tego przez php zapis do tabelki i wyświetlenie też po stronie php

z racji, że jest to api zwracające json czy można to zrobić w inny sposób? w sensie - lepiej, myślałem o np. rozwiązaniu tego przez javascript/ajax ale od razu nasuwa mi się problem "rozklikalności" tych danych, czyli ok pobiorę sobie listę kierowców (ajaxem) i teraz zaczynają się schody, musiałbym generować linki do pozostałych informacji (wszystko po stronie js)


czy znacie lepsze rozwiązania takich problemów? jak właściwie powinno korzystać się z api?
leonpro778
API - Application Programming Interface. Czyli na nasze sposób komunikowania się programisty z programem.

Masz całkiem ładne API, które zwraca dane w formacie JSON. PHP obsługuje JSON na tyle, że nie powinno być problemu z wyświetlaniem interesujących Cię danych. Nie za bardzo wiem co chcesz uzyskać korzystając z tego API ale ja (przykładowo) odpytywał bym ajax'em te linki o których piszesz i miałbym zwrócone dane w JSON.
wpaski
dzięki za wypowiedź,
chodzi o to, że mam przykładowo wyświetlić listę z tymi kierowacami (gdzie imię i nazwisko to klikalny link-odnośnik) i po kliknięciu otworzy się reszta danych na temat danego kierowcy. Wiem jak zrobić przy pomocy bazy danych - zapisu danych do tabelki przy pomocy php i potem ich wyświetlenie. Ale chcę to zrobić powiedzmy samym ajaxem, pytanie czy tak się da i czy można by do tego w ten sposób podejść

Więc odpytam ten json i pobiorę dane do nazwy linku przykladowo
imię nazwisko
Kod
(givenName "Michael"
familyName "Schumacher")


tylko, że co dalej - czy nie pobierając tych danych do tabelki, można by wygenerować odnośniki (id to driverID) i potem po kliknięciu danego odnośnika byłby odpalany kolejny ajax? Czy to jest wykonalne - linki musialbym wygenerowac w javascripcie, więc powiedzmy ze mam juz je w takiej postaci:
mojastrona.pl/kierowcy/michael_schumacher
mojastrona.pl/kierowcy/barrichello
itd.

do tego etapu jakoś to sobie wyobrazam - ale co potem - w jaki sposob otwarty url mojastrona.pl/kierowcy/barrichello ma sobie pobrac reszte danych z tego jsona?
istnieje gdzies cos podobnego juz napisanego?
frydry
W PHP najłatwiej będzie po prostu pobrać ten plik funkcją file_get_contents(). Pobrany tekst przypisujesz do zmiennej i traktujesz funkcją json_decode(). Voila, masz tablicą z danymi.
wpaski
wiem snitch.gif tak też zrobiłem, ale moje pytanie jest inne i starałem się to opisać wyżej (http://forum.php.pl/index.php?showtopic=256939&view=findpost&p=1219271)
leonpro778
Ja bym zrobił to w ten sposób:

1. Ajaxem wysłał zapytanie o interesującą nas listę kierowców (przykładowo: http://ergast.com/api/f1/drivers/results.json)
2. Odpowiedź zwrotna tego zapytania to lista kierowców w formacie JSON.
3. Z tej listy wybieram sobie potrzebne dane a główną daną jest nazwisko kierowcy (bo tym się buduje zapytanie). Nazwisko kierowcy przekazuję jako parametr do funkcji wywołującej kolejne zapytanie dotyczące szczegółów kierowcy.
4. Odpowiedź tego zapytania odbieram jako JSON i wyświetlam tam gdzie mi się podoba smile.gif

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.