Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja zapytan do bazy
Forum PHP.pl > Forum > Przedszkole
dobryvinyl.com
Witam, pisze wlsnie prosty skrypcik forum. Chcial bym jednak aby byl on dosc optymalny.

Sklada sie on z 3 tabel

forum_fora / zawiera ona fora

- id
- data
- nazwa
- opis
- priorytet


forum_tematy / zawiera tematy przpisane do odpowiedniego fora

- id
- data
- temat
- tresc
- foro_id
- status
- nick
- email


forum_posty / zawiera odpowiedzi na tematy

- id
- data
- temat
- tresc
- temat_id
- nick
- email

I teraz pytanie, chcial bym wypisac wszystkie fora z tabeli fora ale zarazem napisac tez ile aktualnie tematow jest na nich dodane. Aktualnie wyglada to tak:

  1. <?php
  2. $wynik_fora = mysql_query ("SELECT * FROM forum_fora ORDER BY `priorytet` DESC");
  3. while($rekord_fora = mysql_fetch_array ($wynik_fora)){
  4.  
  5. $zapytanie_licznik = mysql_query ("SELECT COUNT(*) FROM forum_tematy WHERE foro_id='$rekord_fora[id]'");
  6. $pokaz_licznik = mysql_fetch_array ($zapytanie_licznik);
  7.  
  8.  
  9. print "$rekord_fora[nazwa] ";
  10. print "$pokaz_licznik <br>";
  11.  
  12. }
  13.  
  14.  
  15. ?>


Czy mozna zapisac to jakos jednym zapytaniem?
batman
  1. SELECT FF.id, FF.nazwa, COUNT( FT.id )
  2. FROM forum_fora FF, forum_tematy FT
  3. WHERE FF.id = FT.foro_id
  4. GROUP BY FF.id, FF.nazwa
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.