Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][algorytm] Ostatnio Edytowany
Forum PHP.pl > Forum > PHP
Spirit86
Witam.
Na większości forów, stron jeżeli edytujemy nasz komentarz, post itd. dopisywane jest coś w stylu:

Edytowany przez JakiśNick 2 razy DATA

Zastanawiałem się, jak takie coś napisać, czy dodawać dod. kolumnę w bazie danych, co dla mnie jest głupotą, czy użyć wyrażeń regularnych. CZyli do każdej treści posta / komentarza dopisalibyśmy dajmy na to coś takiego:

<!--Spirit86,1,18-12-2005-->,

po czym za pomocą wyrażeń regularnych stworzylibyśmy do czegoś takiego tablicę typu: Edited=>1, Author=>Spirit86, HowMany=>1,Date=>12-2005.

Wszystko pięknie i ładnie, problem pojawia się, gdy mamy dajmy na to 40 postów. W każdej treści posta trzeba uwzględnić emoty, bbcode no i jeszcze te wyrażenie spr. edycje. Moim zdaniem, spowolniało by to generowanie strony w dosyć dużym stopniu, szczególnie, jak strona jest popularna i ma, dajmy na to 200 osób online w jednym czasie. Wtedy mamy 40*200 przefiltrowań treści + generacja reszty strony, wtedy rozwiązanie takie nie jest juz optymalne.

Jakie jest Wasze zdanie?

Pozdrawiam
AxZx
a nie lepiej przy zapisie edycji danych dokleic taki tekst na dole?
przy kazdej nastepnej edycji sprawdzasz czy jest taki tekst w tekscie
jesli jest to wtedy dopiero uzywasz wyrazen i zwiekszasz licznik edytowan, i zmieniasz date na aktualna.
nospor
Cytat
Zastanawiałem się, jak takie coś napisać, czy dodawać dod. kolumnę w bazie danych, co dla mnie jest głupotą
... no comments.

A nie, jestem modem, to dopisze cos jeszcze. Wlasnie tak to dziala, ze dodaje sie dodatkowe 2 pola: data edycji, kto edytowal.
Jak ty se potem wyobrazasz wyszukiwanie w mysql po tym, kiedy byl ostatnio wpis modyfikowany lub przez kogo?
Spirit86
Cytat(AxZx @ 2005-12-19 15:44:00)
a nie lepiej przy zapisie edycji danych dokleic taki tekst na dole?
przy kazdej nastepnej edycji sprawdzasz czy jest taki tekst w tekscie
jesli jest to wtedy dopiero uzywasz wyrazen i zwiekszasz licznik edytowan, i zmieniasz date na aktualna.

No oczywiście, że w ten sposób, ale to nie zmienia faktu, że będziemy przy każdym otwieraniu sprawdzać każdy post osobno wyrażeniami...

Cytat
A nie, jestem modem, to dopisze cos jeszcze. Wlasnie tak to dziala, ze dodaje sie dodatkowe 2 pola: data edycji, kto edytowal.
Jak ty se potem wyobrazasz wyszukiwanie w mysql po tym, kiedy byl ostatnio wpis modyfikowany lub przez kogo?

a Gdzie masz opcję wyszukiwania, przez kogo został edytowany i gdzie na Invision np.?
Robienie specjalnych 2 kolumn dla jednego zadania, to moim zdaniem, "przerost formy nad treścią".
AxZx
Cytat
No oczywiście, że w ten sposób, ale to nie zmienia faktu, że będziemy przy każdym otwieraniu sprawdzać każdy post osobno wyrażeniami...


przy kazdym otwieraniu posta bedzie sprawdzal cos?
wydaje mi sie ze wystarczy poprostu odczytac to co jest zapisany w tekscie postu i tyle.
ta informacja o edycji poprostu jest dopisywana do tresci posta.
dr_bonzo
"Robienie specjalnych 2 kolumn dla jednego zadania, to moim zdaniem, "przerost formy nad treścią"."
A po co ci w ogole info o edycji posta?

Przeciez latwiej odczytac dane z kolumn niz babrac sie regexpami z wyciaganiem tych wartosci z tresci posta. I to jest dodatkowo logiczne rozwiazanie oddzielajace tresc posta od informacji o poscie.
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.