Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: unikalne nazwy tematow
Forum PHP.pl > Forum > Bazy danych
gakusei
witam!
Podczas robienia wewnętrznego, prostego forum napotkalem na taki problem:
Tematy wiadomosci oraz ich autorzy są zapisywani w tabeli forum_temat, odpowiedzi na dane tematy są umieszczane w forum_wpis. Chce pokazać ogólny wykaz tematów z forum, ale gdy temat ma np 3 odpowiedzi pojawia mi się trzykrotnie. Czy ma ktoś na to jakiś sprawdzony patent? Baza to MySQL 4.0.24.

tabela forum_temat:
  1. id_temat int(11) AUTO_INCREMENT
  2. data_wpisu varchar(11)
  3. autor varchar(100)
  4. temat varchar(255)


tabela forum_wpis:
  1. id_wpis int(11) AUTO_INCREMENT
  2. id_user int(11) 0
  3. data_wpisu varchar(11)
  4. autor varchar(100)
  5. email varchar(100)
  6. id_temat int(11) 0 << FK z forum_temat
  7. tresc text


z gory dziekuje
kwiateusz
a zapytanie ja kto wyciagasz?

bo
  1. SELECT * FROM forum_temat
i masz liste tematow...
gakusei
Cytat(kwiateusz @ 22.07.2008, 00:29:24 ) *
a zapytanie ja kto wyciagasz?

bo
  1. SELECT * FROM forum_temat
i masz liste tematow...

zapytanie to jest zbyt banalne, nie pokazuje ono tego co chcialem. Przedstawie to inaczej:
mam np 10 tematow na forum, łącznie odpowiedzi użytkownikow na te forum jest np: 15, na niektore tematy nikt nie odpowiedzial, inne maja np po 3 odpowiedzi.. roznie. Aby pokazać tresc tematu razem z datą ostatniego wpisu musze połączyć te dwie tabele... no i wp rzypadku wiekszej ilosci wpisow do tematu niz 1, temat pojawia sie wielokrotnie (tyle razy ile ma wpisow). czyli jezeli bylo 15 odpowiedzi na wszystkie tematy łącznie to na wykazie mam 15x a nie 10x temat... any idea?
webdice
  1. SELECT DISTINCT(`field`) FROM `table`
gakusei
Cytat(webdicepl @ 22.07.2008, 09:35:02 ) *
  1. SELECT DISTINCT(`field`) FROM `table`

dlaczego takie cos uporczywie mi powiela?
  1. SELECT DISTINCT(forum_temat.id_temat AS id_temat1), FROM_UNIXTIME(forum_wpis.data_wpisu, '%Y-%m-%d') AS data_wpisu1, forum_temat.temat AS temat1, forum_wpis.autor AS autor1 FROM forum_wpis INNER JOIN forum_temat ON forum_temat.id_temat=forum_wpis.id_temat ORDER BY forum_temat.id_temat DESC
woj_tas
left join + group by
kwiateusz
albo jak to w ipb rozwiązano, do tabeli forum_tematy wrzuc na sztywno, date ostatniego postu, autora tego postu i ilosc komentarzy coby bazy nie obiciążac smile.gif
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.