![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 4 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
przejdę od razu do meritum. Otóż planuję napisać skrypt (jak w tytule wątku) i zastanawiam się nad pewną kwestią. Załóżmy, że algorytm obliczałby ilość zdobytych plusów za komentarze, posty napisane przez użytkownika oraz jego aktywność (podobne działanie jak na portalu wykop.pl) i według tego ustalałby jego pozycję w rankingu (nie mam zamiaru robić tego dynamicznie, czyli po każdej aktywności odpalać odpowiedni skrypt - wręcz przeciwnie, posłużę się CRON'em, bo myślę, że to najlepsza rozwiązanie, chociaż jestem otwarty na wszelkie sugestie). Na samym początku, po rejestracji na witrynie użytkownik miałby status - poza rankingiem (o ile na stronie byłoby zarejestrowanych więcej niż 300 użytkowników, dajmy na to, że limit to właśnie te 300 miejsc), a dopiero z czasem (w miarę jego aktywności) mógłby zdobyć jakąś sensowną pozycję. Będę wdzięczny za jakiekolwiek propozycje, począwszy od wstępnego projektu struktury tabel, aż po sugestie dot. rozwiązania tego dość irytującego problemu. Z góry dziękuje za wszelaką pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 4 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
1) Wcale nie twierdzę, że są tu sami bezrobotni (IMG:style_emoticons/default/smile.gif)
2) Na początku myślę, że wystarczy odpalić algorytm co dwa dni. Później stopniowo (w zależności ilości użytkowników i ich aktywności) ten czas można wydłużać. 3) Pasuje te dane gdzieś zapisać, stąd pomysł z aktualizacją pozycji użytkownika modyfikując pole rank_pos. Dane (takie jak punkty, id użytkownika) rzecz jasna będą przechowywane w innej tabeli, która będzie miała następującą strukturę: - id (int)(auto increment) - user_id (int) - comment_points (int) - post_points (int) We wspomnianym wcześniej przeze mnie rozwiązaniu można byłoby to załatwić za pomocą dwóch zapytań (x300 - przez taką ilość użytkowników przechodziłaby pętla) - pobranie danych i aktualizacja pozycji w rankingu. Ten post edytował solid23 21.02.2011, 21:01:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 22:29 |