Autor Zpráva
Pavel Prochazka.zde.cz
Profil *
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
Pavel Prochazka.zde.cz
where x>DATE_sub(now(), INTERVAL 12 HOUR);
Pavel Prochazka.zde.cz
Profil *
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 *
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 *
pripadne me staci jak mam ukladat cas do databaze..... a jak mam specifikovat tabulku do jakeho datoveho tipu ukladat cas.....
Kajman_
Profil *
time_save by měl být typ datetime
Pavel Prochazka.zde.cz
Profil *
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 *
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 *
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 *
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"]);
Toto téma je uzamčeno. Odpověď nelze zaslat.

0