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

Automatycznie aktualizowany ranking na stronie

Object Storage Arubacloud
0 głosów
831 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,260 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,260 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 (600,810 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 390 wizyt
pytanie zadane 21 marca 2016 w PHP przez Radekol Bywalec (2,880 p.)
+8 głosów
3 odpowiedzi 971 wizyt
0 głosów
2 odpowiedzi 203 wizyt
pytanie zadane 13 czerwca 2021 w Inne języki przez Bakkit Dyskutant (7,600 p.)

92,552 zapytań

141,399 odpowiedzi

319,533 komentarzy

61,938 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...