Witam,
napisalem program, ktory funkcjonalnie dziala w porzadku, czyli tak jak ja tego sobie zycze, ale jest problem w postaci zbyt duzej ilosc zapytan do bazy - nie chodzi o 10 czy 20, ale u mnie leci jakies 1500 i wiecej ohmy.gif za kazdym odpaleniem skryptu - nawet gdy nie ma dodatkowych danych z bazy, ktore ten skrypt pobiera to wczytywanie jest dlugie, a obawiam sie, ze bedzie za dlugie jak cos tam sie doda. Problem jest w zapytaniach do bazy - mam je w 2 lub nawet wiecej petlach, w ktorej to kazdej iteracji zmienia sie jedna wartosc w zapytaniu i dane sa pobierane z bazy i wyswietlane. Jestem poczatkujacy jezeli chodzi o MySQL'a i tworzenie zaawansowanych zaptytan dlatego zwaracam sie z prosba o pomoc w celu napowadzenia mnie na jakis dobry tor, zeby zoptymalizowac ten program.
Kawalek kodu :
  1. <?php
  2. for($g=1;$g<=$ilosc_grup;$g++) 
  3. {
  4.  
  5. $grupa=mysql_fetch_array($resource_o_grupe, MYSQL_ASSOC);
  6. $query=" SELECT plan.id_plan, plan.id_godzina, plan.id_dzien, sale.nr_sali, przedmi
    oty.skrot, wykladowcy.imie, wykladowcy.nazwisko, typ_zajec.id_typ_zajec, typ_zaje
    c.typ_zajec FROM plan, sale, przedmioty, wykladowcy, typ_zajec, grupy WHERE plan.id_godzina='"
    .$wynik_godzine['id_godzina']."' AND plan.id_dzien='".$wynik3_dzien['id_dzien']."' AND plan.id_sala=sale.id_sali AND plan.id_przedmiot=przedmioty.id_przedmiot AND
     plan.id_wykladowca=wykladowcy.id_wykladowca AND plan.id_typ_zajec=typ_zajec.id_t
    yp_zajec AND plan.id_grupa=grupy.id_grupa AND plan.id_grupa='"
    .$grupa['id_grupa']."' ;";
  7. $resource=mysql_query($query) or die (mysql_error());
  8. // i tak jeszcze ze 100 linijek...
  9. ?>


I taka petla jest bardo dluga, bo w niej jest jeszcze foreach, while, pare ifow i co chwilke cos sie zmienia w zapytaniu. Dlatego postanowilem, ze tak byc nie moze i trzeba to zoptymalizowac, w czym mam nadzieje troche pomocy tutaj mi ktos udzieli.
Za wszelki poswiecony czas z gory dziekuje.