Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] subquery z wieloma wynikami
Forum PHP.pl > Forum > PHP
kielek
Witam,

Mam dwie tabele w bazie danych jedna to gallery_groups a druga to gallery_images. Wyciągam wszystko na raz w ten sposób:

  1. $query = mysql_query("SELECT * FROM gallery_groups");
  2. while($row = mysql_fetch_array($query)) {
  3.  
  4. $query2 = mysql_query("SELECT * FROM gallery_images WHERE id_group = ".$row['id_group']);
  5. while($row2 = mysql_fetch_array($query)) {
  6.  
  7. $row['image'][] = $row2;
  8.  
  9. }
  10.  
  11. $gallery[] = $row;
  12.  
  13. }


Dalej tablice przekazuje sobie do smarty i ją wyświetlam.
Teraz pytanie:
Czy da się to zrobić optymalniej? Wykorzystać tylko jedno zapytanie zamiast zapętlać selecta?
Smertius
Nie wystarczy czasem jedno zapytanie:
  1. SELECT * FROM gallery_images LEFT JOIN gallery_groups USING (id_group)


Później przechodzisz wyniki w pętli i grupujesz sobie wg uznania
kielek
Ok, ale jeśli będę chciał użyć LIMIT na grupę to w tym wypadku nie będę mógł tego zrobić ponieważ limitować będzie zdjęcia, a nie grupy. Chyba, że jest na to jakiś sposób?
Smertius
Jeśli będziesz chciał ustawiać LIMIT dla każdej grupy niezależnie, to niestety nie widzę innego rozwiązania jak kilka zapytań
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.