Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tablice Allegro
ostry5
post 22.05.2013, 07:26:55
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


Witam serdecznie.

Mam pytanko na temat wyciągania konkretnej informacji z tablicy wielowymiarowej:
Tablica wygląda tak:

  1. 1. won-items-counter | int
  2. Liczba ofert wygranych (odpowiadająca filtrom podanym na wejściu metody).
  3. 2. won-items-list | WonItemsStruct[]
  4. Tablica struktur zawierająca dokładne informacje o ofertach wygranych.
  5. 1. ite m-id | long
  6. Identyfikator oferty.
  7. 2. item-title | string
  8. Tytuł oferty.
  9. 3. item-thumbnail-url | string
  10. Odnośnik do miniaturki oferty.
  11. 4. item-price | ItemPriceStruct[]
  12. Tablica struktur zawierająca informacje o cenie przedmiotu.
  13. 1. price-type | int
  14. Rodzaj ceny (1 - Kup Teraz!, 6 - cena ostateczna w licytacji).
  15. 2. price-value | float
  16. Wartość ceny przedmiotu.


Jak wyciągnąć informację o np: Wartości ceny przedmiotu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Szymciosek
post 22.05.2013, 09:56:49
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Jak dla mnie to nie jest tablica, tylko po prostu string opisujący konkretne typy danych.

Inaczej to jakoś powinieneś wrzucić żeby było widać co otrzymujesz.
Go to the top of the page
+Quote Post
ostry5
post 22.05.2013, 16:57:04
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


Są to dane zwracane powstające z metody doGetMyWonItems. Metoda pochodzi z Allegro WebAPI.

Struktura odpowiedzi wygląda tak:

  1. $dogetmywonitems_response = array(
  2. 'won-items-counter' => 1,
  3. 'won-items-list' => array(
  4. 'item-id' => 1070362941,
  5. 'item-title' => 'Plecak na wycieczkę',
  6. 'item-thumbnail-url' => 'http://img06.allegroimg.pl/photos/1966835519',
  7. 'item-price' => array(
  8. 'price-type' => 1,
  9. 'price-value' => 69.99)),
  10. 'item-bought-quantity' => 1,
  11. 'item-left-quantity' => 0,
  12. 'item-quantity-type' => 1,
  13. 'item-end-time' => 1326977820,
  14. 'item-end-time-left' => 'Zakończona',
  15. 'item-seller' => array(,
  16. 'user-id' => 486381,
  17. 'user-login' => 'm010ch',
  18. 'user-rating' => 123,
  19. 'user-icons' => 8,
  20. 'user-country' => 1),
  21. 'item-bidders-counter' => 1,
  22. 'item-category-id' => 10563,
  23. 'item-views-counter' => 29,
  24. 'item-note' => 'Treść notatki',
  25. 'item-special-info' => 0,
  26. 'item-shop-info' => 0,
  27. 'item-product-info' => 0,
  28. 'item-payu-info' => 1))
  29. );


Tak naprawdę do przedszkola mi brakuje, bardziej raczkujący, ale takiego działu tu nie ma wink.gif Wracając do tematu chciałbym zrozumieć jak z takiej struktury się pobiera pojedyncze dane. Tzn jak mam np. wygrane trzy aukcje to chciałbym wyciągnąć np. nazwy tych przedmiotów i np. ceny tych przedmiotów. Taki przykład byłby dla mnie zbawieniem.
Go to the top of the page
+Quote Post
nospor
post 22.05.2013, 16:59:06
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Może zacznij od zbawiennej lektury obsługi tablic
http://pl1.php.net/manual/en/language.types.array.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Szymciosek
post 22.05.2013, 17:02:30
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


  1. $dogetmywonitems_response['won-items-list'][0]['item-price'][0]['price-value']


Ale mogą istnieć do tego specjalne metody, nie wiem - zgaduję.
Go to the top of the page
+Quote Post
ostry5
post 22.05.2013, 17:47:54
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


Zrobiłem tak:

  1. $kupione = $client->doGetMyWonItems($nr_sesji);
  2. $kupione['won-items-list'][0]['item-price'][0]['price-value'];

Niestety w wyniku nie dostałem nic. Z kolei jak wymiotę

  1. var_dump($kupione);

to mi wywala całą tablicę



  1. array(2) {
  2. ["won-items-counter"]=>
  3. int(3)
  4. ["won-items-list"]=>
  5. array(3) {
  6. [0]=>
  7. object(stdClass)#12 (18) {
  8. ["item-id"]=>
  9. int(3202402253)
  10. ["item-title"]=>
  11. string(48) "Bateria do laptopa ASUS X52 X52D X52F X52J X52JC"
  12. ["item-thumbnail-url"]=>
  13. string(62) "http://img02.allegroimg.pl/photos/64x48/32/02/40/22/3202402253"
  14. ["item-price"]=>
  15. array(1) {
  16. [0]=>
  17. object(stdClass)#13 (2) {
  18. ["price-type"]=>
  19. int(1)
  20. ["price-value"]=>
  21. float(159)
  22. }
  23. }
  24. ["item-bought-quantity"]=>
  25. int(1)
  26. ["item-left-quantity"]=>
  27. int(0)
  28. ["item-quantity-type"]=>
  29. int(1)
  30. ["item-end-time"]=>
  31. int(1368947012)
  32. ["item-end-time-left"]=>
  33. string(11) "Zakończona"
  34. ["item-seller"]=>
  35. object(stdClass)#14 (5) {
  36. ["user-id"]=>
  37. int(11406155)
  38. ["user-login"]=>
  39. string(15) "PamiecAbsolutna"
  40. ["user-rating"]=>
  41. int(26786)
  42. ["user-icons"]=>
  43. int(56)
  44. ["user-country"]=>
  45. int(1)
  46. }
  47. ["item-bidders-counter"]=>
  48. int(1)
  49. ["item-category-id"]=>
  50. int(77756)
  51. ["item-views-counter"]=>
  52. int(14)
  53. ["item-note"]=>
  54. string(0) ""
  55. ["item-special-info"]=>
  56. int(1)
  57. ["item-shop-info"]=>
  58. int(1)
  59. ["item-product-info"]=>
  60. int(0)
  61. ["item-payu-info"]=>
  62. int(1)
  63. }
  64. [1]=>
  65. object(stdClass)#15 (18) {
  66. ["item-id"]=>
  67. int(3176588900)
  68. ["item-title"]=>
  69. string(46) "MIERNIK SYGNAŁU SATELITARNEGO B.DOKŁADNY SAT"
  70. ["item-thumbnail-url"]=>
  71. string(62) "http://img19.allegroimg.pl/photos/64x48/31/76/58/89/3176588900"
  72. ["item-price"]=>
  73. array(1) {
  74. [0]=>
  75. object(stdClass)#16 (2) {
  76. ["price-type"]=>
  77. int(1)
  78. ["price-value"]=>
  79. float(11.95)
  80. }
  81. }
  82. ["item-bought-quantity"]=>
  83. int(1)
  84. ["item-left-quantity"]=>
  85. int(19)
  86. ["item-quantity-type"]=>
  87. int(1)
  88. ["item-end-time"]=>
  89. int(1368607326)
  90. ["item-end-time-left"]=>
  91. string(11) "Zakończona"
  92. ["item-seller"]=>
  93. object(stdClass)#17 (5) {
  94. ["user-id"]=>
  95. int(5885969)
  96. ["user-login"]=>
  97. string(9) "AUTOFLASH"
  98. ["user-rating"]=>
  99. int(561)
  100. ["user-icons"]=>
  101. int(56)
  102. ["user-country"]=>
  103. int(1)
  104. }
  105. ["item-bidders-counter"]=>
  106. int(1)
  107. ["item-category-id"]=>
  108. int(67138)
  109. ["item-views-counter"]=>
  110. int(41)
  111. ["item-note"]=>
  112. string(0) ""
  113. ["item-special-info"]=>
  114. int(0)
  115. ["item-shop-info"]=>
  116. int(1)
  117. ["item-product-info"]=>
  118. int(0)
  119. ["item-payu-info"]=>
  120. int(1)
  121. }
  122. [2]=>
  123. object(stdClass)#18 (18) {
  124. ["item-id"]=>
  125. int(3193537042)
  126. ["item-title"]=>
  127. string(47) "PŁYTKA KLAWIATURY MIKROFON Samsung monte s5620"
  128. ["item-thumbnail-url"]=>
  129. string(62) "http://img19.allegroimg.pl/photos/64x48/31/93/53/70/3193537042"
  130. ["item-price"]=>
  131. array(1) {
  132. [0]=>
  133. object(stdClass)#19 (2) {
  134. ["price-type"]=>
  135. int(1)
  136. ["price-value"]=>
  137. float(1.99)
  138. }
  139. }
  140. ["item-bought-quantity"]=>
  141. int(1)
  142. ["item-left-quantity"]=>
  143. int(1)
  144. ["item-quantity-type"]=>
  145. int(1)
  146. ["item-end-time"]=>
  147. int(1367440370)
  148. ["item-end-time-left"]=>
  149. string(11) "Zakończona"
  150. ["item-seller"]=>
  151. object(stdClass)#20 (5) {
  152. ["user-id"]=>
  153. int(27930790)
  154. ["user-login"]=>
  155. string(7) "SerwALL"
  156. ["user-rating"]=>
  157. int(111)
  158. ["user-icons"]=>
  159. int(56)
  160. ["user-country"]=>
  161. int(1)
  162. }
  163. ["item-bidders-counter"]=>
  164. int(3)
  165. ["item-category-id"]=>
  166. int(16427)
  167. ["item-views-counter"]=>
  168. int(42)
  169. ["item-note"]=>
  170. string(0) ""
  171. ["item-special-info"]=>
  172. int(0)
  173. ["item-shop-info"]=>
  174. int(0)
  175. ["item-product-info"]=>
  176. int(0)
  177. ["item-payu-info"]=>
  178. int(1)
  179. }
  180. }
  181. }

Go to the top of the page
+Quote Post
nospor
post 22.05.2013, 17:54:24
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: to co chcesz wyświetlić
a: ECHO to co chcesz wyswietlic....;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ostry5
post 22.05.2013, 18:10:51
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


Cytat
nie: to co chcesz wyświetlić
a: ECHO to co chcesz wyswietlic....;


smile.gif dobre, dobre nie najgorsze.
  1. echo $kupione['won-items-list'][0]['item-price'][0]['price-value'] . " \n";
również nic
Go to the top of the page
+Quote Post
nospor
post 22.05.2013, 18:30:01
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Podajesz sprzeczne dane za każdym razem więc się nie dziw, że trudno strzelić z właściwą odpowiedzią.... dodaj do tego fakt, ze ty nie masz najmniejszej ochoty nic samemu zrobić i wychodzi jak wychodzi....

Z najnowszego posta wynika że w srodku masz obiekty a nie tablice jak podawałeś wcześniej.... :/


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ostry5
post 22.05.2013, 19:05:04
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


W drugim poście pisałem, że bardziej raczkuje w temacie. Dlatego wymyśliłem aby przedstawić wynik var_damp'em aby pokazać strukturę odpowiedzi. A czy to jest tablica czy obiekt to nie oczekuj ode mnie poprawnego nazewnictwa bo nie wiem, jeżeli ktoś zechce pomóc to pomoże...a kiepskiej baletnicy to i rąbek u spódnicy...ale my tu gadu gadu a $posty lecą wink.gif
Go to the top of the page
+Quote Post
artur_dziocha
post 23.05.2013, 07:12:04
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Musisz dobrać się do obiektów. Coś takiego chyba było.
  1. echo $kupione['won-items-list'][0]->{'item-price'}->{'price-value'}
Go to the top of the page
+Quote Post
viking
post 23.05.2013, 11:10:38
Post #12





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


A najlepiej przejdź na nowe webapi gdzie już jest i poprawne nazewnictwo, i obiekty.

Jak się do tego dobrać masz w dokumentacji allegro.


--------------------
Go to the top of the page
+Quote Post
Kocurro
post 23.05.2013, 12:34:00
Post #13





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Odwołujesz się do obiektu jak do tablicy i stąd błąd.
Go to the top of the page
+Quote Post
ostry5
post 26.05.2013, 17:34:42
Post #14





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.05.2013

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


Cytat(artur_dziocha @ 23.05.2013, 08:12:04 ) *
Musisz dobrać się do obiektów. Coś takiego chyba było.
  1. echo $kupione['won-items-list'][0]->{'item-price'}->{'price-value'}


Niestety nie działa. Nic nie wypluwa

Witam ponownie.

Znalazłem rozwiązanie więc zamieszczam. Może się to komuś jeszcze przyda

  1. echo $kupione['won-items-list'][$il_petli]->{'item-price'}[0]->{'price-value'};


gdzie $il_petli jest inkrementowaną wartością przy każdym obrocie.

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: 20.06.2025 - 17:08