• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Automatycznie aktualizowany ranking na stronie

VPS Starter Arubacloud
0 głosów
968 wizyt
pytanie zadane 15 lipca 2015 w PHP przez Quokiase Początkujący (290 p.)
Witam, planuje zrobić ranking użytkownikow pewnej strony, który będzie zanjdował się na kompletnie innej stronie. Ranking powinien aktualizować się raz na dzień np. o godzinie 24. Kompletnie nie wiem jak się za to zabrać i gdzie szukać pomocy.

 

Tutaj przykład:

http://socplay.pl/  - Strona

http://socrank.ccrr.pl/ - Ranking użytkowników tej strony wedle punktów tam uzyskanych.

 

Z góry dziękuje za odpowiedź. Pozdrawiam, miłego dnia.

1 odpowiedź

+1 głos
odpowiedź 15 lipca 2015 przez efiku Szeryf (75,160 p.)
(Piszę z tel)
Słowo klucz: cron.
Tworzysz skrypt (plik php odseparowany od całego skryptu strony) który za pomocą PDO podepnie się pod bazę i zaktualizuje wyniki (Jeśli dobrze zrozumiałem)
Dodajesz to jako zadanie do crona i gotowe
Link : How do I add jobs to cron under linux or unix oses
komentarz 15 lipca 2015 przez shadax Obywatel (1,850 p.)
A czy nie lepiej, jak ktoś wejdzie w ranking, to żeby z bazy danych automatycznie wszystko wyjęło? Czy lepiej jest, jak np. raz dziennie wszystko z bazy się wyjmuje, a cały ranking będzie zapisany w jakimś pliku? (czy to zużywałoby mniej zasobów?)
komentarz 15 lipca 2015 przez efiku Szeryf (75,160 p.)
"A czy nie lepiej, jak ktoś wejdzie w ranking, to żeby z bazy danych automatycznie wszystko wyjęło? "
A co jeśli na raz wejdzie 10 000 ktosiów? Zabijesz bazę lub serwer. ;O
Tutaj oczywistym rozwiązaniem jest cache.
IMO w takim wypadku lepiej jest podpiac pod crona taki skrypt.
Przykładowe działanie:
P1odpinamy się pod baze za pomocą PDO .
Fetchujemy wszystko do tablicy.
Serializujemy to funkcją serialize
Zapisujemy do pliku
Na stronie pobieramy plik za pomocą file get contents i unserialize
Stylizujemy otrzymana tablice
Można też pokombinować z cache przeglądarki , ustawić na 24h itd..
komentarz 16 lipca 2015 przez rafal.budzis Szeryf (85,340 p.)
Tam jest limit do tysiąca więc nie było by tego tak dużo. Cache po stronie serwera na 5-10 min by starczył moim zdaniem. No i dodanie indeksu do tablicy z punktami.
komentarz 16 lipca 2015 przez efiku Szeryf (75,160 p.)

Janusze developmentu. ;d

Nie mam już siły.. echh w każdym bądź razie słowo klucz to cron.

rafal612b  -  powiem tak. Jak się przejedziesz to się nauczysz i nie będziesz pisał więcej głupot ;)  

"No i dodanie indeksu do tablicy z punktami." - po co, jak foreach robi to za Ciebie? ( $key => $value )

 

komentarz 16 lipca 2015 przez rafal.budzis Szeryf (85,340 p.)

"No i dodanie indeksu do tablicy z punktami." - po co, jak foreach robi to za Ciebie? ( $key => $value )

Indeksu w tabeli w MySQL jeśli nic nie słyszałeś o indeksach w bazach danych to dlaczego ty mnie nazywasz Januszem ? :D pobranie 1000 rekordów to małe zapytanie jeśli nie trzeba używać złączyeń i innego zła. Nawet jesli robisz bloga i wyświetlasz po 5 artukułów na strone to MySQL musi ci przeskanować wszystkie rekordy jesli chcesz mieć posortowane wyniki a czy zwrócisz 5 artukułów czy 1000 to już mała różnica przy małych polach w tabeli.


Zresztą fajniej jest tworzyć coś co bedzie aktualne niż coś co bedzie aktualizowane raz dziennie.

komentarz 16 lipca 2015 przez Comandeer Guru (604,780 p.)

Nie jestem taki pewien czy przy odpowiednich indeksach na tabeli i LIMIT w zapytaniu przy wyciąganiu pięciu rekordów skanuje 1000. Zresztą można to sprawdzić przez EXPLAIN.

Co do aktualizacji: de facto przy każdej większej appce jest cache. Ba, niektóre appki są tak napisane, że nawet jak padnie baza to całość działa z cache'u. A tego typu rankingi są idealne do cache - zwłaszcza, że ich generowanie lubi obciążać bazę

Podobne pytania

–1 głos
3 odpowiedzi 413 wizyt
pytanie zadane 21 marca 2016 w PHP przez Radekol Bywalec (2,880 p.)
+8 głosów
3 odpowiedzi 1,266 wizyt
0 głosów
2 odpowiedzi 221 wizyt
pytanie zadane 13 czerwca 2021 w Inne języki przez Bakkit Dyskutant (7,600 p.)

92,973 zapytań

141,938 odpowiedzi

321,177 komentarzy

62,301 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...