Autor | Zpráva | ||
---|---|---|---|
Pavel Prochazka.zde.cz Profil * |
#1 · Zasláno: 5. 5. 2007, 14:55:21
Dobry den,
mam nejaky cas ulozeny v databazi, tedka potrebuji jak mam udelat jednoduse ze zadam hledani kde ze podminkou WHERE bude nejaka funkce pro zjiteni aktualniho casu a nejaka konstanta cca 12 hodin z me se vyberou vsechny prispevky za poslednich 12 hodin. Zajima me jak mam pricis ten cas... |
||
Casero Profil |
#2 · Zasláno: 5. 5. 2007, 15:03:11
Pavel Prochazka.zde.cz
where x>DATE_sub(now(), INTERVAL 12 HOUR); |
||
Pavel Prochazka.zde.cz Profil * |
#3 · Zasláno: 6. 5. 2007, 10:08:32
Casero mam jeste jeden dotazek: v jakem formatu mam ukladat cas do databaze....
ukladam to v tomto formatu: $sAktualmi_Cas = Date("YmdHis",mkTime()); ale nejak to nefaka.... a dotaz na vyber mam takovy: $IP_odpoved_anketa = MySQL_Query("SELECT * FROM IP_odpoved_anketa WHERE time_save_IP > DATE_sub($sAktualmi_Cas, INTERVAL $IP_TimeOut HOUR) and IP_adresa='$sIP' and id_otazka='$id_otazka'", $GLOBALS["link"]); tady je kousek toho vyhodnocovani.... if ($ochrana_hlas == 1){//zapnuta ochrana proti vicenasobnemu hlasovani v prubehu dne. $IP_odpoved_anketa = MySQL_Query("SELECT * FROM IP_odpoved_anketa WHERE time_save_IP > DATE_sub($sAktualmi_Cas, INTERVAL $IP_TimeOut HOUR) and IP_adresa='$sIP' and id_otazka='$id_otazka'", $GLOBALS["link"]); $pocet_odpovedi = MySQL_Num_Rows($IP_odpoved_anketa); if ($pocet_odpovedi == 0) {//uzivatel nehlasoval v uvedenem case $sRnt = MySQL_Query("INSERT INTO IP_odpoved_anketa VALUES ('', '$sIP', '$sAktualmi_Cas', '$id_otazka')"); if ( $sRnt !== false){//uspesne zapsana hlasovaci IP write_vote ($nPocet_Hlasu, $id_odpoved); } } } kdyz mam cas ukladany v tomto formatu tak vyber porad hlasi ze jsem hlasoval i kdyz cas je uz 15 hodin..... Cas pro time out jsem nastavil na 12 hodin..... |
||
Pavel Prochazka.zde.cz Profil * |
#4 · Zasláno: 6. 5. 2007, 10:10:38
vevim zda je to dulezite ale radi uvedu. Struktura tabulky pro IP hlasovani je:
$dotaz_anketa = MySQL_Query("CREATE TABLE IP_odpoved_anketa ( id_IP_adresa int(11) NOT NULL auto_increment, IP_adresa varchar(20), time_save_IP varchar(16), id_otazka int not null, PRIMARY KEY (id_IP_adresa), FOREIGN KEY (id_otazka) REFERENCES otazka(id_otazka) )"); |
||
Pavel Prochazka.zde.cz Profil * |
#5 · Zasláno: 7. 5. 2007, 17:45:46
pripadne me staci jak mam ukladat cas do databaze..... a jak mam specifikovat tabulku do jakeho datoveho tipu ukladat cas.....
|
||
Kajman_ Profil * |
#6 · Zasláno: 8. 5. 2007, 16:37:54
time_save by měl být typ datetime
|
||
Pavel Prochazka.zde.cz Profil * |
#7 · Zasláno: 8. 5. 2007, 17:09:06
Kajman_ diky uz to neco asi dela......
ale dalsi problem je..... ze to proste nechce vybirat z databaze nic..... kdyz udelal toto: $IP_odpoved_anketa = MySQL_Query("SELECT * FROM IP_odpoved_anketa WHERE time_save_IP > DATE_sub(now(), INTERVAL $IP_TimeOut HOUR) and IP_adresa='$sIP' and id_otazka='$id_otazka'", $GLOBALS["link"]); tak by to melo podle me vybrat data starsi 12 hodin a vice..... ale ono nic..... pokud udela toto: $IP_odpoved_anketa = MySQL_Query("SELECT * FROM IP_odpoved_anketa WHERE time_save_IP < DATE_sub(now(), INTERVAL $IP_TimeOut HOUR) and IP_adresa='$sIP' and id_otazka='$id_otazka'", $GLOBALS["link"]); tak uz to konecne neco vytahuje z databaze ale jen data mladsi 12 hodinam..... ale to ja nechci.... chci data starsi nez zadany cas v promene $IP_TimeOut .... mate nekdo nejaky napad..... |
||
Pavel Prochazka.zde.cz Profil * |
#8 · Zasláno: 8. 5. 2007, 17:36:12
pujde to vubec tak jak to chci a nebo mam pri ukladani pricist pozadovany cas a potom pokud se nejedna o budoucnost tak uz nastal z IP adresi timeout, pokud je porad dudoucnost tak jeste blokovat jakekoliv pozadavky z dane IP adresy.....
|
||
Pavel Prochazka.zde.cz Profil * |
#9 · Zasláno: 8. 5. 2007, 17:46:30
tedka jsem jeste zjistil ze se daji za podminku WHERE zadavat meze pomoci BETWEEN, tak jse du na to poradne podivat. Zda pomoci tono neco vykouzlim.....
|
||
Pavel Prochazka.zde.cz Profil * |
#10 · Zasláno: 8. 5. 2007, 17:59:15
tak asi jsem na to prisel...... zde je vysledek...... faka to tak jak presne potrebuji.....
$IP_odpoved_anketa = MySQL_Query("SELECT * FROM IP_odpoved_anketa WHERE time_save_IP BETWEEN DATE_sub($sAktualmi_Cas, INTERVAL $IP_TimeOut HOUR) and $sAktualmi_Cas and IP_adresa='$sIP' and id_otazka='$id_otazka'", $GLOBALS["link"]); |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0