Shoutbox - Archiwum
Wszystkie wpisy w shoutboxie (249346)
Marek.S
(23:10, 10.02.10)
kurde gnysek zgłupiałem.
gnysek
(23:02, 10.02.10)
Wchodzę na stronę > Dodawana do bazy jest moja sesja > klikam, klikam, klikam, klikam > przy wyczytywaniu okazuje się, że ostatnio moja sesja była aktualizowana 5 minut temu, robię UPDATE > klikam, klikam, klikam > znów UPDATE mojej sesji (podtrzymanie) > ktoś inny wchodzi > dodanie jego sesji, delete starsze niż 15 minut ("WHERE czas_sesji < " . time() - (5*60) . "" )
gnysek
(22:58, 10.02.10)
Jak wszystkich? Uaktualniasz tego który akurat klika coś na stronie, przy okazji wczytywania nowej zawartości. W ten sposób kazdy user akutalizuje siebie samego, a jak wyjdzie ze strony przestanie odświeżać, więc w końcu zostanie z tabeli sesji usunięty
Marek.S
(22:53, 10.02.10)
jak to nie? wszystko musze pobrać by uaktualnić wszystkich użytkowników. Jak zmajstrować taki warunek skoro mySQl to nie język skryptowy i nie wykona mi warunku np ( where abs( cur_time - sql-time ) < 15 xD)
gnysek
(22:51, 10.02.10)
Najważniejsze - nie robić UPDATE przy każdym przeładowaniu, bo się zakleszczenia robią i czas generowania odpowiedzi wzrasta niemiłosiernie.
gnysek
(22:50, 10.02.10)
W starej wersji były to 4 zapytania.
gnysek
(22:50, 10.02.10)
W nowym HMT w dwóch zapytaniach wczytuję nicki osób zalogowanych + sesję i dane obecnego usera.
gnysek
(22:49, 10.02.10)
Czas zapisujesz jako time() z PHP
I wtedy po Where sprawdzasz. Aż tak dużo tych danych nie ma, serio, zwłaszcza, że tak naprawdę dla danego usera nie musisz wszystkiego pobierać.
I wtedy po Where sprawdzasz. Aż tak dużo tych danych nie ma, serio, zwłaszcza, że tak naprawdę dla danego usera nie musisz wszystkiego pobierać.
Marek.S
(22:46, 10.02.10)
nie to bez sensu, mySQL nie sprawwdzi i nie porówna godziny
Marek.S
(22:46, 10.02.10)
czyli tak jak myślałem, nie wydajnie
przy każdym wejściu wczytać całą tabelę do tablic, a później znow po kolei wszystko wysłać. Chyba, że da się to zrobić na zapytaniach mySQL. Można zrobić SELECR .. WHERE time > 15
przy każdym wejściu wczytać całą tabelę do tablic, a później znow po kolei wszystko wysłać. Chyba, że da się to zrobić na zapytaniach mySQL. Można zrobić SELECR .. WHERE time > 15
gnysek
(22:42, 10.02.10)
PsichiXowy nick naprawiony. Okazało się, że winna temu jest funkcja obcinająca nicki powyżej 10 znaków...
gnysek
(22:41, 10.02.10)
Coś w ten deseń 

Marek.S
(22:30, 10.02.10)
czyli jeśli dobrze rozumiem, koleś loguje się na stronie, skrypt umieszcza jego dane w SQL przy okazji sprawdzając inne rekordy tabeli, przelatuje i usuwa tych, których czas nie był aktualizowany przez ostatnie 15 min?
gnysek
(22:26, 10.02.10)
Nie no jak wchodzisz na stronę, twoja sesja trafia do bazy. Przy kazdym przeładowaniu jest zczytywania z bazy - zeby sprawdzać, czy jesteś zalogowany - ale aktualizowana może być co minutę czy nawet 5 - po prostu jak klikniesz i data ostatniego odświeżenia jest starsza niz 5 minut aktualizujesz. A po 15 minutach kasujesz - też tylko przy czymiś kliknięciu.
Marek.S
(22:21, 10.02.10)
no ale przy zapisywaniu id aktywnego musze też dodać jego godzinę wizyty, i przy każdym przeładowaniu strony wertuje całą tabelę i uaktualniam porównując każdy rekord zapisanej godziny z aktualną. To takie trochę mieszanie, co? 

gnysek
(22:18, 10.02.10)
I za cholerę nie mogę dojść, dla czego na stronie głównej nick PsichiXa się źle wyświetla...
gnysek
(22:17, 10.02.10)
nazwa tabeli
Marek.S
(22:17, 10.02.10)
sessions to nazwa tabeli czy jakiś myk o którym nie wiem?? ;>
gnysek
(22:14, 10.02.10)
Ale jak user chodzi po stronie, to wczytywane są sesje tak czy siak z bazy - zatem co za problem dodać zapytanie SELECT COUNT(*) FROM sessions; ?
Najnowsze wersje GameMakera:
LTS
2026.0.0.16 • 2022.0.3.99
wydana 138 dni temu
wydana 138 dni temu
Beta
2026.100.0.1171 •
wydana 5 dni temu
2026.100.0.1116
• GMRT beta 0.22.4
wydana 5 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
47 użytkowników online na discordzie:
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?
