Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] pętle w pętli
aladin07
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


bardzo prosze o pomoc bo juz od tego zapetlania chyba glowa mi sie zapetlila

zadanie jest takie:
-chce aby dla zakresu powiedzmy 1-93 dopisywac do zmiennej (ktora bedzie insertem do bazy) kolejne wartosci z tablicy
-ale tez chce zeby taki insert zrobic co dziesiec powtorzen

poki co udalo mi sie to zrobic ale dopisuje mi te inserty tylko do wartosci zakresu 90
pozostale trzy juz nie sa dopisywane - juz nie wiem jaki warunek nalezy zrobic


  1. <?php
  2. $counter = 1;
  3. $zapytanieDoBazy = 'insert .....';
  4. for ($i=1;$<93;$i++)
  5. {
  6.   if($counter<10)
  7.   {
  8.      $zapytanieDoBazy .= '';  //dodawanie kolejnych wartosci z tablicy
  9.    }
  10.    else
  11.    {
  12.       mysql_query($zapytanieDoBazy); //wstawienie calego dotyczasowego insert do bazy
  13.       $counter = 1;
  14.     }
  15.     $counter++;
  16. }
  17. ?>


no i w tym miejscu zaczynaja sie moje schody - juz totalnie nie wiem jaki warunek zrobic
aby dodac ostatnie trzy rekordy do $zapytanieDoBazy i jeszcze jako ostatni insert je wyslac do bazy

a moze calosc powinna byc calkiem inaczej skonstruowana

i jeszcze uprzedzajac pytania to zarowno zakres do 93 rekordow jak i ilosc dopisywanych rekordow do bazy jednoczesnie
jest teraz dosyc przypadkowy i bede chcial to wykorzystac do testow wydajnosci odpowiednio wiekszych insertow
dla kilkuset tysiecy rekordow z zalozona (nie koniecznie po 10-ale niech to pozostanie pozycja wyjsciowa) iloscia
jednorazowych wpisow do bazy
dlatego tez nie chce wrzucic jednym insertem 93 rekordow bo nie w tym rzecz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

z gory wszystkim bardzo dziekuje za pomoc

Ten post edytował aladin07 7.05.2009, 14:20:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
gebp
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


  1. <?php
  2. $counter = 1;
  3. $zapytanieDoBazy = 'insert .....';
  4. for ($i=1;$i<93;i++)
  5. {
  6.  if(!$counter%9)
  7.  {
  8.     $zapytanieDoBazy .= '';  //dodawanie kolejnych wartosci z tablicy
  9.   }
  10.   else
  11.   {
  12.      mysql_query($zapytanieDoBazy); //wstawienie calego dotyczasowego insert do bazy
  13.      $counter = 1;
  14.    }
  15.    $counter++;
  16. }
  17. ?>
Go to the top of the page
+Quote Post
aladin07
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


gebp

ale to co napisales nic nie daje $counter pozostaje cały czas o wartości jeden i warunek się nigdy nie spełnia
Go to the top of the page
+Quote Post
zelu
post
Post #4





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


Całość możesz zrobić mniej więcej tak:

  1. <?php
  2. $ile_wpisow = 93;
  3. $co_ile     = 10;
  4.  
  5. $zapytanieDoBazy = 'insert .....';
  6. for ($i=0; $i < $ile_wpisow; $i++)
  7. {
  8.    if( $i % $co_ile )
  9.    {
  10.        $zapytanieDoBazy .= '';  //dodawanie kolejnych wartosci z tablicy
  11.    }
  12.    else
  13.    {
  14.        mysql_query($zapytanieDoBazy); //wstawienie calego dotyczasowego insert do bazy
  15.    }
  16. }
  17.  
  18. if($ile_wpisow % $co_ile)
  19. {
  20.    mysql_query($zapytanieDoBazy); //ostatnie zapytanie. W Twoim przypadku dla wartosci powyzej 90
  21. }
  22. ?>


zmienna counter nie jest w ogóle potrzebna :]
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: 24.12.2025 - 19:07