Dodałem w bazie kolumnę z czasem zapisu aktywności użytkowników, w której to nie częściej niż co 15 minut nadpisuje się aktualna data w formacie Y-m-d h:m (2009-08-23 00:49) i teraz siedzę, dumam i szukam w jaki to sposób wyciągnąć z bazy id użytkowników aktywnych w ciągu ostatnich 15 minut? A gdyby tak dało się tych aktywnych użytkowników wyciągnąć losowo to było by pięknie... Proszę o podpowiedzi.
cojack
23.08.2009, 00:05:21
Co to timestamp zaczął robić problem? Od kiedy? Nie ma to jak linux epoch co?
A co to za problem? Wyszukujesz z bazy wszystkich, których różnica między czasem obecnym i w bazie ma mniej niż 15 minut. A jesli jeszcze do tego przywalisz funkcje rand() i zrobisz LIMIT to tylu losowo spośród wyników wyciągniesz. Żaden problem
kosma
23.08.2009, 01:39:17
Tak to żaden problem, tyle że siedzę nad nim kilka godzin i lipa
Cytat
Wyszukujesz z bazy wszystkich, których różnica między czasem obecnym i w bazie ma mniej niż 15 minut
EDIT: Jeśli masz MySQL poniżej 5, to dwa słowa: EXTRACT i TIMEDIFF
kosma
23.08.2009, 02:47:57
Dzieki thek, jednak zniecierpliwiony i zastanowiwszy się nad podpowiedzią cojack'a zmieniłem format daty na unixowy znacznik czasu i po problemie. Mam nadzieję, że nie będę tego żałował?
cojack
23.08.2009, 10:31:48
Możliwe że będziesz żałował jak będziesz musiał co do sekundy wyciągać coś pomiędzy czymś a czymś. Ja czasami żałowałem
thek
23.08.2009, 11:11:08
Każde rozwiązanie jest dobre, jeśli spełnia nasze założenia. To właśnie lubię w informatyce. Można zrobić jedną rzecz na wiele sposobów i tylko od nas zależy, który ostatecznie wybierzemy. Jakby co wiesz, że zawsze masz alternatywę i możesz spróbować innego. Możesz też sprawdzić oba na localhoście i wybrać wydajniejsze. Bo kto Ci zabroni?
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.