Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pętle w pętli
Forum PHP.pl > Forum > Przedszkole
aladin07
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 smile.gif

z gory wszystkim bardzo dziekuje za pomoc
gebp
  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. ?>
aladin07
gebp

ale to co napisales nic nie daje $counter pozostaje cały czas o wartości jeden i warunek się nigdy nie spełnia
zelu
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 :]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.