Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] webapi foreach
Swirek
post
Post #1





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


Witam
mam mały problem z wyciągnięciem danych z web api allegro

wystukałem sobie kod

  1. $dane_formularzy_id=$client->doGetTransactionsIDs($_SESSION['sesja'], array($wybierz_aukcjes2["id_aukcji"]), 'seller');
  2.  
  3. $dane_formularzy=$client->doGetPostBuyFormsData($_SESSION['sesja'], $dane_formularzy_id);
  4.  
  5. $data = array();
  6.  
  7. foreach($dane_formularzy as $formularze)
  8. {
  9. $data[ $formularze->{'post-buy-form-id'} ] = $formularze->{'users-post-buy-data'};
  10. }
  11.  
  12. foreach($data as $id => $formularze)
  13. {
  14. foreach($formularze as $formularz)
  15. {
  16. // echo $formularze->{'post-buy-form-buyer-id'};
  17.  
  18. $wybierz_klienta_id = mysql_query("select * from klienci where id_allegro='".$formularz->{'post-buy-form-items'}->{'post-buy-form-it-id'}."'");
  19. $wybierz_klienta_id2=mysql_fetch_array($wybierz_klienta_id);
  20.  
  21. echo " > ".$formularz->{'post-buy-form-items'}->{'post-buy-form-it-id'}." ";
  22.  
  23. }
  24. }


niestety otrzymuje błąd Warning: Invalid argument supplied for foreach() in /home/onlin/public_html/api/import.php on line 200

proszę o pomoc

pozdrawiam

Ten post edytował Swirek 5.08.2011, 20:27:03
Go to the top of the page
+Quote Post
zamper
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Fajnie że w 200 linijce (IMG:style_emoticons/default/biggrin.gif) . Posprawdzaj co jest w zmiennych które dajesz foreach'owi jako parametry (zmienne pomiędzy nawiasami).
Przetłumacz sobie ten błąd w tłumaczu Google ;D
Go to the top of the page
+Quote Post
Swirek
post
Post #3





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


no fakt błąd dotyczy linii
  1. foreach($data as $id2 => $formularze)


że podaje zły argument to ja wiem ale dlaczego jest zły?
zapewne coś nie tak robie przy zapisywaniu tablicy $data

Ten post edytował Swirek 5.08.2011, 20:45:16
Go to the top of the page
+Quote Post
buliq
post
Post #4





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


A linia 200 to? Jasnowidzem jeszcze nie jestem.

Parser powiedział ci. Używasz zmiennej która nie jest tablicą przy foreach. Sprawdź typeof a najlepiej wypisz sobie wartość tablic print_r
Go to the top of the page
+Quote Post
Swirek
post
Post #5





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


mam teraz kod

  1. $dane_formularzy_id=$client->doGetTransactionsIDs($_SESSION['sesja'], array($wybierz_aukcjes2["id_aukcji"]), 'seller');
  2.  
  3. $dane_formularzy = $client->doGetPostBuyFormsDataForSellers($_SESSION['sesja'], $dane_formularzy_id);
  4.  
  5. foreach($dane_formularzy as $formularze)
  6. {
  7.  
  8. //print_r($formularze);
  9.  
  10. foreach($formularze as $formularz)
  11. {
  12. //print_r($formularz);
  13.  
  14. $wybierz_klienta_id = mysql_query("select * from klienci where id_allegro='".$formularz->{'post-buy-form-it-id'}."'");
  15. $wybierz_klienta_id2=mysql_fetch_array($wybierz_klienta_id);
  16.  
  17. echo " > ".$formularz->{'post-buy-form-it-id'}." ";
  18.  
  19. }
  20. }


echo nic mi nie wyświetla

gdy użyje formułki
  1. $formularz[0]->{'post-buy-form-it-id'} lub $formularz["post-buy-form-items"]->{'post-buy-form-it-id'} lub $formularz["post-buy-form-items"][0]->{'post-buy-form-it-id'}
wyrzuci jeden rekord a przy kolejnym wywali błąd
  1. Fatal error: Cannot use object of type stdClass as array in /home/onl/public_html/api/import.php on line 203


tablica $formularz wygląda tak
  1.  
  2. 68550110Array ( [0] => stdClass Object ( [post-buy-form-it-quantity] => 3 [post-buy-form-it-amount] => 27 [post-buy-form-it-id] => 1653464725 [post-buy-form-it-title] => SREBRNY ŁAŃCUSZEK ĹťMIJKA 45CM 12MM PRĂ?BA 925 TANIO [post-buy-form-it-country] => 1 [post-buy-form-it-price] => 9 ) ) 20740043250stdClass Object ( [post-buy-form-adr-country] => 0 [post-buy-form-adr-street] => [post-buy-form-adr-postcode] => [post-buy-form-adr-city] => [post-buy-form-adr-full-name] => [post-buy-form-adr-company] => [post-buy-form-adr-phone] => [post-buy-form-adr-nip] => [post-buy-form-created-date] => ) stdClass Object ( [post-buy-form-adr-country] => 1 [post-buy-form-adr-street] => Kruszyn KrajeĹ?ski ul.Pfghf [post-buy-form-adr-postcode] => 86-005 [post-buy-form-adr-city] => BiaĹ?e BĹ?ota [post-buy-form-adr-full-name] => ANNA W [post-buy-form-adr-company] => [post-buy-form-adr-phone] => 6xxxxxx [post-buy-form-adr-nip] => [post-buy-form-created-date] => 2011-06-15 20:37:57 ) Pekao SA142595685ZakoĹ?czona2011-06-15 20:39:212011-06-15 20:39:214stdClass Object ( [post-buy-form-adr-country] => 0 [post-buy-form-adr-street] => [post-buy-form-adr-postcode] => [post-buy-form-adr-city] => [post-buy-form-adr-full-name] => [post-buy-form-adr-company] => [post-buy-form-adr-phone] => [post-buy-form-adr-nip] => [post-buy-form-created-date] => ) Array ( ) Array ( )
  3.  


Ten post edytował Swirek 5.08.2011, 23:22:24
Go to the top of the page
+Quote Post
zamper
post
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


  1. $formularz[0]->{'post-buy-form-it-id'} lub $formularz["post-buy-form-items"]->{'post-buy-form-it-id'} lub $formularz["post-buy-form-items"][0]->{'post-buy-form-it-id'}


Można wiedzieć co ty tu robisz? Używasz -> które jest do objektów a nie tablic! Do tablic się robi tak $tablica[3]['pole1'][1].
Go to the top of the page
+Quote Post
Swirek
post
Post #7





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


tylko, że wewnątrz tablicy jak zwrócisz uwagę są obiekty

gdy wsadziłem to w zmienną var dump otrzymałem pierwszy id i kolejne wartości null null. czy to oznacza, że źle te dane wyciągam?

Przywracam temat bo dalej nie udało mi się rozwiązać problemu. błąd wyskakuje ponieważ 2 otrzymywana tablica jest pusta, ale dlaczego?

(IMG:style_emoticons/default/sad.gif)

Ten post edytował Swirek 6.08.2011, 10:34:49
Go to the top of the page
+Quote Post
cycofiasz
post
Post #8





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


  1. $dane_formularzy = $client->doGetPostBuyFormsDataForSellers($_SESSION['sesja'], $dane_formularzy_id);
  2.  
  3. foreach($dane_formularzy as $formularz)
  4. {
  5. echo '<br /><br /><hr/><b>Transakcja nr. '. $formularz -> {'post-buy-form-id'} .'</b>:<br /><br />';
  6.  
  7. foreach($formularz -> {'post-buy-form-items'} AS $aukcja)
  8. {
  9. echo 'Id aukcji: ' . $aukcja -> {'post-buy-form-it-id'} . '<br />';
  10. }
  11.  
  12. }


To chyba pomoże Ci się zorientować jak się dobierać do danych z soapClient.
Go to the top of the page
+Quote Post
Swirek
post
Post #9





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


dzięki!!! przecież na logike trzebabyło mu wskazać skąd ma wyciągać dane aukcji
  1. $formularz -> {'post-buy-form-items'}

tego mi było trzeba jeszcze raz dziękuje

edit

i tak mi coś nie grało rozwiązałem to za pomocą jednego foreach (IMG:style_emoticons/default/wink.gif)

Ten post edytował Swirek 11.08.2011, 09:46:10
Go to the top of the page
+Quote Post

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.09.2025 - 01:49