Autor | Zpráva | ||
---|---|---|---|
Joe Profil * |
#1 · Zasláno: 5. 9. 2008, 22:27:11
Vie mi niekto poradit, ako mam ulozit okamzity cas do mysql db v riadku ako timestamp?
A este, ako neskor porovnat tento cas s dalsim okamzitym a zistit kolko casu ubehlo? Chcem to pre udrzanie log in aj po popusteni stranky a opatovnom navrate. |
||
Kajman_ Profil * |
#2 · Zasláno: 5. 9. 2008, 22:36:48
update tabulka set sloupec=now(); -- u prastarých verzí možná update tabulka set sloupec=current_timestamp(); |
||
Joe Profil * |
#3 · Zasláno: 5. 9. 2008, 22:43:53
No ja som skusal toto:
... $cas=now(); $insert="INSERT INTO online (sesid, nick, cas) VALUES ('$sesid','$nick','$cas')"; $results = mysql_query($insert) or die(mysql_error()); ... Ale vraj: Fatal error: Call to undefined function: now() in ... |
||
ninja Profil |
#4 · Zasláno: 5. 9. 2008, 23:15:55
Joe: a kde jsi v PHP manualu videl funkci now()? Timestamp se ziskava pres time().
A pokud chces unix timestamp pouzivat v MySQL, koukni na jeji funkce FROM_UNIXTIME() a UNIX_TIMESTAMP(). |
||
Kajman_ Profil * |
#5 · Zasláno: 5. 9. 2008, 23:23:18
$insert="INSERT INTO online (sesid, nick, cas) VALUES ('$sesid','$nick',now())"; |
||
Bill Profil |
#6 · Zasláno: 7. 9. 2008, 21:56:03
spise
UNIX_TIMESTAMP() |
||
NoName Profil * |
#7 · Zasláno: 9. 9. 2008, 09:51:09
U MySQL 5 jde nastavit ON UPDATE CURRENT TIMESTAMP ke sloupci, je to v phpmyadmin jako Vlastnosti, takze se vytvori INT 10 sloupec a hotovo ;)
|
||
Časová prodleva: 5 dní
|
|||
Joe Profil * |
#8 · Zasláno: 14. 9. 2008, 13:32:54
Ten priklad od Kajman_ funguje super, ale teraz mam problem, ako vygenerovat okamzity cas v php a porovnat to s casom v sql db.
Vie niekto poradit? |
||
nightfish Profil |
#9 · Zasláno: 14. 9. 2008, 13:35:58
|
||
Joe Profil * |
#10 · Zasláno: 14. 9. 2008, 13:51:37
Vdaka za rychlu reakciu nightfish
Nemyslel som zrovna provnat (=), ale cely problem je. Pri log in, chcem ulozit do db cas prihlasenia - now(), Ak clen opusti prehliadac, server, stranku a vrati sa po urcitom case, spusti opat stranku, kde prebehne porovnanie okamziteho casu s casom v db, a ak je tento cas kratsi ako pr: 1 hodina, nemusi sa prihlasovat znova, ak je ale dlhsi prebehne vymazanie session a clen sa musi opat najprv prihlasit. |
||
Joe Profil * |
#11 · Zasláno: 14. 9. 2008, 17:35:03
Stale mi to nefunguje.
Vie mi niekto pomoct? Dik. |
||
nightfish Profil |
#12 · Zasláno: 14. 9. 2008, 17:40:50
„kde prebehne porovnanie okamziteho casu s casom v db, “
mysql_query("select count(*) from tabulka where timestamp + 3600 > ".time()." and uzivatel = $id"); |
||
Joe Profil * |
#13 · Zasláno: 14. 9. 2008, 22:46:14
Neviem, ci som to pochopil, ale skor nie.
online = nazov tabulky cas = stlpec s timestamp meno = uzivatelske meno uz vytvorene - uuu $out=mysql_query("select count(*) from online where cas + 3600 > ".time()." and meno = 'uuu'"); if(empty($out)) { echo "mam to"; } else { echo "nemam to"; } |
||
Joe Profil * |
#14 · Zasláno: 15. 9. 2008, 18:30:34
Nefunguje to. Vie to niekto opravit?
|
||
nightfish Profil |
#15 · Zasláno: 15. 9. 2008, 20:50:53
zřejmě bych nepoužíval funkci empty() - možná spíš mysql_result($out, 0, 0)
|
||
Joe Profil * |
#16 · Zasláno: 16. 9. 2008, 19:09:28
Zmena tam nastala, ale ak dam
$out=mysql_query("select count(*) from online where cas > ".time()." and meno = 'uuu'"); a dam si vypis: echo "<br>result z mysql: ".mysql_result($out,0,0)."<br>"; Vypise mi : 1 , co vyzera, ze naslo riadok s casom z tabulky vacsim ako momentalny cas, co nie je mozne. |
||
Časová prodleva: 6 dní
|
|||
Joe Profil * |
#17 · Zasláno: 22. 9. 2008, 18:11:00
Asi chcem urobit nieco, co nie je velmi zauzivane.
Moze mi niekto poradit nejaky iny sposob, ako udrzat clena prihlaseneho aj urcity cas po opusteni stranky? Ak sa vrati spat do hodiny, bude stale prihlaseny. Alebo, co pouzivate vy? Vdaka |
||
Joe Profil * |
#18 · Zasláno: 24. 9. 2008, 18:28:28
Moze mi niekto poradit nejaky iny sposob, ako udrzat clena prihlaseneho
aj urcity cas po opusteni stranky? Vdaka |
||
Časová prodleva: 3 dny
|
|||
Joe Profil * |
#19 · Zasláno: 27. 9. 2008, 13:23:08
Heeeeeeeeeeelp !!!
|
||
Časová prodleva: 16 let
|
0