Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem w pętlą for
cichy19-
post
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

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


Witam

Używam poniższego kodu i coś jest nie tak.
Powinno być wykonywane co 25 a robi się tylko raz.

  1. <?php
  2. for ($i=0; ; $i=$i+25) {
  3. $p++;
  4. $versja = array('user-id' => $allegro_user,
  5. 'webapi-key' => $webapikey,
  6. 'country-id' => 1,
  7. 'offset' => $i);
  8. $pktapi = $soapclient->call('doGetUserItems', $versja);
  9. echo '<hr>Partia '.$p.' - '.count($pktapi['user-item-list']).'<hr>';
  10. print_r($pktapi);
  11. if (count($pktapi['user-item-list'])!=25) break;
  12. }
  13. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


tu był błąd:

  1. <?php
  2. for ($i=0; $i<=25; $i++) 
  3. {
  4. //reszta kodu
  5. }
  6. ?>


Łukasz

edit
zapomniałem o BBcode :-)

Ten post edytował kossa 15.09.2006, 14:31:40
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


~Kossa -- czytaj, ma sie wykonywac co 25 czyli $i+= 25 a na koncu masz breaka

~cichy19- -- a warunek
  1. <?php
  2. if (count($pktapi['user-item-list'])!=25) break;
  3. ?>

nie jest przypadkiem spelniony?
Go to the top of the page
+Quote Post
macbirdie
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.09.2006
Skąd: Poznań

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


W ogóle lepiej by było tutaj użyć do-while, bo for zaciemnia nieco kod, gdy nie korzystasz z niego tak jak bozia kazała. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. $i=0;
  3.  
  4. do {
  5. $p++;
  6. $versja = array('user-id' => $allegro_user,
  7. 'webapi-key' => $webapikey,
  8. 'country-id' => 1,
  9. 'offset' => $i);
  10. $pktapi = $soapclient->call('doGetUserItems', $versja);
  11. echo '<hr>Partia '.$p.' - '.count($pktapi['user-item-list']).'<hr>';
  12. print_r($pktapi);
  13.  
  14. $i+=25;
  15. }
  16. while( count($pktapi['user-item-list']) < /* lub <= */ 25 );
  17. ?>


Gdy masz tam !=25, pętla będzie wykonywała się tylko w jednym przypadku, chyba że masz to tak zrobione, by utrzymać rozmiar user-item-list przy rozmiarze 25.
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: 30.09.2025 - 23:56