Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odciazenie bazy danych
Forum PHP.pl > Forum > Przedszkole
Shinji
Witam,
mam pewine pytanie zwiazane z optymalizacja mojego skruptu. Mam w bazie danych tabele o kolumnach ID, NAME, TEAM i POZYCJA. I mam kod a'a:

  1. <?php
  2. $bramkarz= mysql_fetch_array(mysql_query("SELECT * FROM teams WHERE team=$_GET['team'] AND pozycja=bramkarz");
  3. $skrzydlowy= mysql_fetch_array(mysql_query("SELECT * FROM teams WHERE team=$_GET['team'] AND pozycja=skrzydlowy");
  4. $obronca= mysql_fetch_array(mysql_query("SELECT * FROM teams WHERE team=$_GET['team'] AND pozycja=obronca"); 
  5. //... itd..
  6.  
  7. echo('Na pozycji bramkarza gra: '.$bramkarz['name']);
  8. echo('Na pozycji skrzydlowego gra: '.$skrzydlowy['name']);
  9. echo('Na pozycji obronca gra: '.$bobronca['name']);
  10. ?>


Czy da sie go jakoś zoptymalizowac, by nie wykonywal tylu zapytań?

PS nie patrzecie na poprawnosci kodu, bo pisalem ja teraz na szybko... chodzi mi raczej o koncepcje.
nospor
jedno zapytanie bez uwzgledniania pozycji. Nastepenie w petli lecisz po wynikach i na podsawie pozycji przypisujesz odpowiedni rekord dla danej zmiennej
Shinji
A mógłbys to poprzeć przykladem bo nie dokońca rozumiem ^^
nospor
To zapytanie
  1. <?php
  2. $res = mysql_query("SELECT * FROM teams WHERE team=$_GET[team]";
  3. ?>

zwroci ci wszystkich czlonkow druzyny. lecisz teraz po wynikach tego zapytania i jesli czlonek to bramkarz to przypisujesz dla $brankarz. jak ktos inny to przypisujesz dla $inny itd.
lecenie po wszystkich: while($row = mysql_fetch_array($res)) - ta konstrukcja nie jest ci chyba obca?
sprawdzanie - if - tez nie powinno byc problemow.
Shinji
A no łapie.. oj upokorzylem sie tym pytaniem - zal ^^ Lepiej juz zamilkne ^^

Swoja droga dzieki =)
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.