Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
Nie moge sobie poradzić z przechowywaniem czasu online ; /
W bazie mam takie rekordy jak czas_wejscia (np, 1385116379 ) i czas_online ( tutaj ma być przechowywany czas online ) I przy wyjściu chciałem odjąć aktualny czas od czasu wejścia i ten czas dodac do czasu online i później przerobić na : byłeś online 4 dni 5 godzin 20 min i 20 s . ale totalnie mi to nie wychodzi prosze o pomoc! ; / Ten post edytował piotrek442 22.11.2013, 11:58:23 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
A co jesli user nie klinknie wyjscia tylko zamknie poprostu okno? Bedzie caly czas online?
No i pokaz co zrobiles do tej pory i co ci nie wychodzi. Wrozyc mamy? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
no to jeszcze działa! ale jak to zapisać do bazy? Ten post edytował piotrek442 22.11.2013, 12:17:31 |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Do modyfikacji rekordy w badzie sluzy UPDATE - zajrzyj do manuala.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
ja wiem jak się robi update... tylko nie wiem jak odjąć te daty i dodać do ogólnego czasu online..
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Nie wiesz jak odjac (IMG:style_emoticons/default/questionmark.gif) Toc juz zrobiles odejmowanie :/
strtotime( $exit_time ) - strtotime( $entry_time ) zapisujesz se to do zmiennej: $aktonline = strtotime( $exit_time ) - strtotime( $entry_time ) ; A potem normalnie robissz zapytanie UPDATE $sql = 'update tabela set czas_online=czas_online+'.$aktonline.' where JAKIS WARUNEK NA TWOJE REKORD'; Naprawde tu nie ma zadnej filozofii. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
no dobra zrobiłem jak mówisz !
byłem zalogowany trochę a do bazy wpisało "1" (IMG:style_emoticons/default/ohno-smiley.gif) |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Skoror czas w bazie trzymasz w timestamp to nie:
$exit_time=time(); $entry_time = date("d.m.Y h:i:s",$entry_time); $exit_time = date("d.m.Y h:i:s",$exit_time); $aktonline = strtotime( $exit_time ) - strtotime( $entry_time ) ; a: $exit_time=time(); $aktonline = $exit_time -$entry_time ; |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
czyli tak?
w bazie zapisuje "0" a wartość początkowa jest też "0" Ten post edytował piotrek442 22.11.2013, 12:56:50 |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
jak uzywasz " do tekstu to i laczyc masz przez ".." a nie przez '..'. Zmieniaj z glowa moj kod a nie sobie zmienisz jedno, inne zostawisz bez mian i zadowolny ....
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
teraz to już wogóle nie rozumiem...
|
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Ja ci napisalem tak:
$sql = 'blabla '.$zmienna.' blabla'; Ty to radosnie zamieniles na: $sql = "blabla '.$zmienna.' blabla"; Jesli naprawde nadal nie widzisz bledu w swojej zamianie to zapraszam do manuala i zapoznanie sie z podstawami obslugi tekstow. |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
... byłem zalogowany trochę a do bazy wpisało "1" (IMG:style_emoticons/default/ohno-smiley.gif) Skoror czas w bazie trzymasz w timestamp to nie: ... @nospor chyba za długo w pracy ;]... ochłoń i luknij na temat z boku, bo jak Cię znam wiesz o co chodzi ^^... http jest bez stanowe... więc w tym samym żądaniu nie ma sensu nawet próbować zapisywać czas nie połączenia a czas otwartej strony ;p (no można i jak jest błąd połączenia od razu to jakby nie było połączenia ale to co wspomniałem nie ma sensu nawet zwracać uwagi bo musiałbym dogłębniej opisać)... połączenie http jest bezstanowe - tzn. symuluje się ciągłość połączenia na wiele sposobów, najprostszy i ogólnie stosowany to sesja... sposobem na rozwiązanie tego problemu to np. założyć minimalny czas na stronie i go updatować co jakiś czas w zapytaniu ajax + zdarzenie onuload... inny sposób to skorzystanie z "wiszącego połączenia" gdzie nie zwracamy odpowiedzi, połączenie zostanie zerwane to ten ktoś zamknął połączenie (tu do poczytania hasła w stylu "ajax push", jsonp itd. bo to można zrobić np. na wczytującym się obrazku...), no i akurat przy tym drugim tricku idąc dalej początek i koniec połączenia można by wykonać w jednym skrypcie ale opisywanie to ociera się o daemon wywoływany online więc to też nie ma sensu... najprostsze rozwiązanie jak wspomniałem zapisać start i updatować czas opuszczenie na zasadzie powtarzającego się zapytania ajax lub na zasadzie ajax push... |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
tylko że to jest skrypt gg z bot api . Mam specjalną komendę która dokładnie określa końcowy czas . tylko nie mam pojęcia jak to zapisać zeby działało.
|
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
@zegarek zegarek.... i kto tutaj ma ochlonac? (IMG:style_emoticons/default/wink.gif)
Cytat tylko nie mam pojęcia jak to zapisać zeby działało. Przeciez ci napisalem.... jeszcze tego nie poprawiles?
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#17
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Jak zrobiles inaczej? Przeciez napisales dokladnie to samo co ja ci wczesniej pisalem:
Cytat a: $exit_time=time(); $aktonline = $exit_time -$entry_time ; I tak, to jest wlasnie czas w sekundach. Jak zapisac w bazie? Przeciez tez ci to podalem :/ |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
przepraszam , pogubilem się... (IMG:style_emoticons/default/facepalmxd.gif)
więc jak to np zwraca mi wartość w sekundach to jak zapisze to do bazy i ktoś będzie rok zalogowany to wartość będzie 31536000 ? i jaki typ danych użyć? nie obciąży to bazy? |
|
|
|
Post
#19
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
A czemu ma obciazyc baze? Jest to zwykly INT UNSIGNED - normalna wartosc dla bazy.
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%)
|
Ostatnie pytanie bo już wszystko prawie wiem (IMG:style_emoticons/default/Lkingsmiley.png)
Jak dam
to będzie dobrze? |
|
|
|
Post
#21
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Sprawdz, w najgorszym wypadku wybuchnie komputer i pol bloku... (IMG:style_emoticons/default/wink.gif)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 00:09 |