![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam ma dziwny problem, którego kompletnie nie rozumiem.
Konkretnie mam skrypt wyświetlający ilość czasu jaka pozostała.
I wychodzi z tego 300 sekund. Więc powinno wyświetlać 00:05:00 i odliczać w dół. Niestety niewiadomo skąd wzięła mi się jedna godzina i pokazuje 01:05:00 nie mam pojęcia dlaczego. Pewnie mam gdzieś głupi błąd, którego nie umiem wyłapać. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 36 Dołączył: 12.01.2008 Skąd: Puszcza Mariańska Ostrzeżenie: (0%) ![]() ![]() |
Chętnie bym ci pomógł, ale....
NIc z tego co napisałeś nie rozumiem :/ ![]()
1.Co to jest to twoje $s i poco tu to coś skoro nie ma do tego nigdzie później odwołania?? 2. Jak możesz się odwoływać do tablicy $stat['user_timerest'] skoro nigdzie nie masz jej zadeklarowanej?? 3. i co to jest date(U) ![]() -------------------- Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ad.1 i 2 coś mi wygląda że nie możesz mi pomóc bo umiesz to gorzej niż ja. $s można pominąć bo skopiowałem to nieświadomie w polu user_timerest w bazie mam czas w sekundach jak to robi time ale za pomocą date bo date nie pobiera czasu z komputera oglądającego stronę.
Ad.3 $date('U') to to samo co time() odsyłam do http://www.php.net/manual/pl/function.date.php A chodzi o to że w bazie danych mam czas w którym użytkownik wszedł na stronę i pobierając ją z bazy danych (nie widze potrzeby dawania tu połączenia z bazą ani wywołań select z innych plików) tworzę tym różnicę(sama matematyka):
co daje mi czas odliczany w dół od momentu wejścia na te stronę (w tym wypadku jest to 5minut) przykład
niestety 00:05:00 nie wyświetla zamiast tego dodaje jeszcze jedną godzinę 01:05:00 Ten post edytował Greg0 22.02.2008, 17:43:38 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
cóż... znacznik czasu służy do czegoś innego. On określa [w serwerach na windowsie] ile sekund minęło od 01-01-1970 1:00 . Tak więc 01-01-1970 1:00 = w tym znaczniku czasu 0. Twoje 300 dodaje pięć minut do tej daty...
Ten post edytował l0ud 22.02.2008, 17:50:19 -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 36 Dołączył: 12.01.2008 Skąd: Puszcza Mariańska Ostrzeżenie: (0%) ![]() ![]() |
sory faktycznie nie doczytałem :/ co do 1 mój błąd
a co do trzeciego nie znałem tego parametu funkcji date() a co do drugiego skoro, jak twierdzisz : "nie możesz mi pomóc bo umiesz to gorzej niż ja" wyjaśnij mi z łaski swojej czym jest $stat['user_timerest'] ![]() -------------------- Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Tym, bo zapytanie mam zdeklarowane w innym includowanym pliku.
nad zapytaniem mam wywołane jeszcze połączenie z bazą więc nie widzę nic dziwnego w moim skrypcie P.S. przez to wszystko zapomniałem podziękować I jeszcze jedno pytanie więc jeśli powiedzmy robie gre gdzie te pięć minut musi być odliczone to jeżeli dam time() który pobiera czas z naszego komputera ktoś łatwo może ten skrypt wykiwać zmieniając u siebie godzinę. Ten post edytował Greg0 22.02.2008, 17:55:30 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 36 Dołączył: 12.01.2008 Skąd: Puszcza Mariańska Ostrzeżenie: (0%) ![]() ![]() |
No tak ale wtym fragmęcie kóry podałeś na opczątku nie było widomo czym jest ta twojea zmienna
![]() Ale mam pomysł jak rozwiązać twój problem ![]() poprostu odjemij tą godzinę ok $date i wszystko bbędzie ok:D <?php $odpoczynek = ($date-(60*5)); //czas minus 5 minut $czas = ($stat['user_timerest'] - $odpoczynek); //przykład liczb na dole $czas = $czas - 3600; $zostalo = date('H:i:s', $czas); //zamieniam go na godziny:minuty:sekundy ?> -------------------- Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie to też jest jakieś rozwiązanie, z którego chyba skorzystam. Dziękuję również
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znacznik czasu w unixie zaczyna się od 13 grudnia 1901 20:45:54 - po przeniesieniu na serwer to rozwiązanie prawdopodobnie przestanie działać. Zresztą sam pomysł przekazania znacznika w postaci liczby ujemnej jest dość... szalony
![]() Greg0, nie zrozumiałem zbyt Twojego pytania... time zawsze pobiera czas z serwera, w końcu skrypty php wykonują się po jego stronie... Ten post edytował l0ud 22.02.2008, 18:05:57 -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
hmm to może mi się tak zmienia dlatego że mam to postawione na moim komputerze
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:12 |