![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 25.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam malutki problem, chciałbym pobrać z kolumny np. 10 rekordów najczęściej powtarzających się. W kolumnie zapisywany jest id artykułu. Będę próbował napisać skrypt, który wyświetli najczęściej komentowane artykuły. Panowie, dobrze zaczynam kombinować ? (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat @cojack: Źle. Tworzysz osobną tabelę dla komentarzy artykułów. Count na id komentarzy dla danego id artykułu i tak jak wyżej orderby na tego counta i limit. Taa, jasne. Ja CELOWO pominąłem dywagacje na temat tabeli na komentarze, bo nie o nią tu chodziło, tylko o sposób, w jaki uzyskać 10 artów najczęściej komentowanych, a rozwiązanie z dodatkowym polem w tabeli z artykułami inkrementowanym po każdym dodaniu/dekrementowanym po każdym usunięciu komentarza jest jedynym, które eliminuje konieczność używania COUNT, GROUP BY i innych f-cji. Wiadomo, że musi być tabela, aby było gdzie te komentarze przechowywać i innego sposobu sobie nie wyobrażam, jak tylko utworzyć osobną tabele w tym celu. A jedna operacja UPDATE przy dodaniu/usunięciu komentarza jest niczym w porównaniu z każdorazowym COUNT + GROUP BY przy wchodzeniu odwiedzających na stronę zawierającą takie zestawienie 10-ciu najczęściej komentowanych. Generalnie nie będe tu przecież przedstawiał całej struktury bazy danych, bo musiałbym też napisac o tabeli 'users'; przechowującej dane użytkowników, tabeli 'user_to_komentarz' tworzącej relację wskazującą, kto który komentarz dodał, tabeli 'logs' zapisującej kto, z jakiego IP i kiedy ten komentarz dodał, tabeli 'history_details', w której zapisywane byłyby wszystkie zmiany w komentarzach edytowanych przez adminów/modów wraz z ID komentarza, data i czasem dokonanej zmiany, treścią sprzed edycji..... mam wymieniac dalej? Ten post edytował blooregard 2.02.2010, 16:56:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:51 |