Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odczyt z json, [PHP][JSON]
majesgrudziadz
post 26.01.2013, 16:54:39
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

Ostrzeżenie: (0%)
-----


Witam posiadam taki kod JSON

  1. {
  2. "account" : "502674822",
  3. "clanids" : [ "500000807", "500000807", "500009693", "500009693" ],
  4. "clantags" : [ "1PBP", "1PBP", "CARA", "CARA" ],
  5. "member_sinces" : [ "12.05.2012", "10.06.2012", "13.06.2012", "06.09.2012" ],
  6. "member_untils" : [ "06.06.2012", "11.06.2012", "04.09.2012", "undef" ],
  7. "namehis_dates" : [ "20.11.2012" ],
  8. "namehis_nicks" : [ "majesgrudziadz" ],
  9. "nickname" : "majes_pl",
  10. "result" : 1
  11. }


ładuję go do zmiennej i encoduje ... sprawdzam tablicę vardump i wyświetla mie wynik

problem polega na tym że nie wiem jak wyciągnąć te dane do pozostałych zmiennych

może ktoś pomóc ? męczę sięod 3h i nie moge nic wymyśleć.
Go to the top of the page
+Quote Post
Kofel
post 26.01.2013, 16:56:12
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 22
Dołączył: 14.12.2007
Skąd: Wyszków

Ostrzeżenie: (0%)
-----


Nie potrafisz operować na tablicach? biggrin.gif baaasmiley.gif
Go to the top of the page
+Quote Post
majesgrudziadz
post 26.01.2013, 17:01:45
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

Ostrzeżenie: (0%)
-----


no właśnie jakoś 3h temu zgłupiałem i już mi ręce opadają sad.gif
pomożesz ? smile.gif
Go to the top of the page
+Quote Post
Michasko
post 26.01.2013, 17:03:10
Post #4





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


  1. $zmienna = json_decode($json);
  2. // i teraz aby dostać się np. do ID trzeciego klanu:
  3. print $zmienna->{'clanids'}[2]; //bo indeksujemy od zera :)

powinno zwrócić wynik: "500009693".

edit: trochę w drugą stronę na początku podziałałem...teraz jest ok wink.gif

po więcej info zapraszam tutaj -> json_decode

Ten post edytował Michasko 26.01.2013, 17:08:23


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
majesgrudziadz
post 26.01.2013, 17:08:00
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

Ostrzeżenie: (0%)
-----


ok tak to mi też wychodziło ale jak wyświetlić wszystkie clanids ?

bo gdy pomijam [2] robi array

Ten post edytował majesgrudziadz 26.01.2013, 17:10:34
Go to the top of the page
+Quote Post
Michasko
post 26.01.2013, 17:10:58
Post #6





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


pętla foreach -> foreach
  1. foreach ($tablica as $jeden_rekord_tablicy)
  2. print $jeden_rekord_tablicy;


u Ciebie tablicami są np. "clanids", "clantags" itp.
"jeden_rekord_tablicy" - możesz sobie nazwać jak chcesz. Pętla przeleci po każdej z wartości przypisanych do danej tablicy i wyświetli je smile.gif

Ten post edytował Michasko 26.01.2013, 17:11:29


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
majesgrudziadz
post 26.01.2013, 17:23:25
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

Ostrzeżenie: (0%)
-----


Jesteś wielki smile.gif robiłem tak jak w twoich podpowiedziach a nie chciało mi działać :/

może wina że net zamulony i już się pogubiłem co wgrywałem czego nie ... na test

aktualnie wszystko śmiga

oczywiście -> Pomógł x2 smile.gif

pozdrawiam

Mam jeszcze jeden problem


jak wyświetlić

clanids clantags obok siebie ... ?

  1. $zmienna = json_decode($json);
  2.  
  3. $id_clans = $zmienna->{'clanids'};
  4. $tags_clan = $zmienna->{'clantags'};
  5.  
  6.  
  7.  
  8. foreach ($id_clans as $odp_id_clans){
  9. print $odp_id_clans.' '.$odp_tags_clans.'<br>';
  10. }



jak ułożyć obok siebie wyniki z 2 tabel ?

wyświetla mi tak:

500000807
500000807
500009693
500009693

a obok tego bym chciał mieć clantags czyli:


500000807 1PBP
500000807 1PBP
500009693 CARA
500009693 CARA

ostatnia pomoc w tym zagadnieniu ... mii lepiej się uczy analizując gotowce niż manuale :/

Ten post edytował majesgrudziadz 26.01.2013, 17:25:20
Go to the top of the page
+Quote Post
Michasko
post 26.01.2013, 17:53:16
Post #8





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


  1. for($i=0; $i<count($zmienna->{'clanids'}); $i++)
  2. {
  3. echo $zmienna->{'clanids'}[$i] . " " . $zmienna->{'clantags'}[$i] . "<br/>";
  4. }
Pamiętaj jednak, że ten sposób zadziała tylko wtedy, kiedy ilość ID = ilość TAG-ów (możesz wprowadzić if-a, który to sprawdzi) oraz gdy:
Kod
ID nr 1 odpowiada TAG-owi nr 1,
ID nr 2 odpowiada TAG-owi nr 2

i tak dalej...


Ten post edytował Michasko 26.01.2013, 17:56:01


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
majesgrudziadz
post 26.01.2013, 18:26:29
Post #9





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

Ostrzeżenie: (0%)
-----


dokładnie tak jest ... zaraz obadam ... w chwili obecnej zrobiłem to na TABLE ale mnie to nie rajcuje ... zobacze twój sposób pozdro

i dzięki smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 03:51