» Poradna » Programy

Automaticke odhlasenie

 |   | 

Zdrawim,

ako urobit automaticke vymazanie zaznamu z DB MySQL pomocou PHP, ak cas ulozeny v stlpci last (vo formate Y-m-d H:i:s) je o 30 minut nizsi ako aktualny.

mysql_query ("DELETE FROM tabulka WHERE last ... ");

Dakujem za pomoc

Odpovědi na otázku

 |   | 
 |   | 

ale toto vymazanie by sa malo vykonavat vzdy po nacitani stranky.... takze cron je uplne k nicomu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

dalo by sa to urobit takto ale newiem ako odpocitat od aktualneho datumu a casu 30 minut


mysql_query ("DELETE FROM tabulka WHERE last <= '".$aktualnycas-30min."'");

prosim ako mam teda dostat tu premmenu ??? dakym jednoduchym sposobom

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

myslim ze takto by to mohlo ist ale newiem ako teraz z $aktual dostat datum a cas vo formate datetime (Y-m-d H:i:s)

$aktual = time() - 1800; // 1800 je 30 minut

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

no skusil by som to obchvatom. Vlozit do tabulky popri datumu aj udaj time() a potom jednoducho pouzit time()-1800

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

mrkni v php na mktime

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

takze ani cron ani mktime netraba na jednoduche vyriesenie tohoto problemu.

riesenie:

$aktual = time() - 1800;
$aktual = date("Y-m-d H:i:s", $aktual);
mysql_query ("DELETE FROM tabulka WHERE last <= '".$aktual."'");

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

pokial nechces zobrazovat datum a cas, vobec by som tam nedaval tento udaj a ak, tak len ako samostatnu polozku.
mazal by som podla polozky kde mam ulezene time(). Polozka last by bola cislo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

nechcem zobrazovat cas... ten tam len sluzi ako kontrola ci je clovek na strankach aktivny... Mozem vediet preco by som tam nemal davat tento udaj?? Som len zaciatocnik, mozno tomu tak nechapem ako ty.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

ked chces mazat zaznamy na zaklade nejakeho kriteria, v nasom pripade time()-1800, tak je najlepšie pri prihlaseni vlozit do polozky last (datovy typ int) hodnotu time(). To je skupima cisiel, teda sekundy. Neviem ci od pociatku sveta alebo od polnoci. To si najdi v googli. Ak su to sekundy od pociatku sveta, tak je to bez problemu. Ak nie, tak tam este daj polozku s datumom vo formate date("Y-m-d"). Musis si ale pozriet v akom formate ti mysql uklada datum. Mal by to byt datovy typ date v tvare RRRR-MM-DD. No a mazes od time()-1800. Mozes pridat este podmienku pre dany den

asi tak :bla, bla where last <= time()-1800 and prihlasenie = date("Y-m-d") ;
pricom prihlasenie je nazov polozky s datumom .

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Last




Určitě si přečtěte

Šmírování kamerami Googlu: Koukněte se, co zachytily na Street View

Šmírování kamerami Googlu: Koukněte se, co zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 44

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

** Internet je plný malwaru, to už dnes ví každý ** Víte ale, že lze útočit třeba i na Bluetooth? ** Navštívil jsem hackery z brněnského FITu

Jakub Čížek | 1

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

** V digitálním světě nemůžete věřit všemu ** Nová generace 3D fotoeditorů zvládne divy ** Vyzkoušeli jsme PortraitPro, který vám změní i kontaktní čočky

Jakub Čížek | 10


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku