Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%)
|
Witam!
Skonstruowałem zapytanie wyświetlające wszystkie tematy danego forum (id, temat, id autora, nazwę autora, liczbę postów, datę osatniej modyfikacji):
Chciałbym do tego dodać dane ostatniego postu [p.id] (tego z MAX(p.time)) i dane jego autora [p.user_id][u.name], ale pogubiłem się. Wydaje mi się, że z WHERE odpadnie u.id = p.user_id, ale co dalej? Da się wydobyć te dane razem z tym zapytaniem? Jeśli tak, to będę wdzięczny za wskazówki. Ten post edytował onlyX 3.10.2009, 15:32:07 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
A czemu zamiast szukania po dacie ie wyciągasz posta z najwyższym id w danym forum/podforum? Zapewne masz w tabeli postów autoincrement na id. Zauważ, że najwyższe id w danym temacie/podforum/forum to zawsze najnowszy post i z automatycznie najświeższą datą. Tymczasem operacje na datach potrafią w niektórych cms lub forach powodować błędy. Sam swego czasu musiałem przerabiać skrypty php-fusion właśnie pod tym kątem z jakim Ty masz problem, czyli wyświetlanie danych użytkownika, którego post jest najświeższy. Domyślnie bowiem przechowywana jest tylko data ostatniego posta, a nie jego id, co jest głupotą. W sytuacji bowiem, gdy zapis do tabeli forum jest o ułamek sekundy późniejszy niż do tabeli postów nie można zidentyfikować jaki post jest ostatni i kto go napisał, bo nie istnieje post z tym samym timestamp (różne w obu tabelach). Tu najlepsze jest przechowywanie id posta oraz po nim wyszukiwanie i nie używanie timestamp do tego zadania.
|
|
|
|
onlyX id i nazwa użytkownika, którego post ma najwyższą datę 3.10.2009, 15:28:23
onlyX Masz rację, zminiłem ORDER na najwyższe id, i wyci... 9.10.2009, 11:28:59
thek Zrób LEFT JOIN pomiędzy tabelą posts a users używa... 9.10.2009, 14:45:59
onlyX W dalszym ciągu nie wiem jak to zrobić.
Pogubiłem ... 9.10.2009, 16:24:17
erix CytatDa się wydobyć te dane razem z tym zapytaniem... 10.10.2009, 12:49:00
thek Erix sugeruje Ci dobre rozwiązanie problemu. Dla t... 10.10.2009, 20:38:03 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 12:02 |