Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:28.6.2014 14:11

Zdravím.

Lámu si tu hlavu s takovým problémem a už netuším čím by to mohlo být,tak se obracím na vás:

v mysql mám u záznamu uložený timestamp který se uloží při vytvoření.
Potom počítám zbývající čas do uplynutí 24 od přidání tohoto příspěvku.

z mysql si tedy vytáhnu rozdíl současného timestampu a toho který je uložený u příspěvku:

SELECT (NOW()-datumvlozeni) AS DOKONCE FROM ........

a následně v php:

timestampToTime(86400-$radek['DOKONCE'])

takže od 86400 (24 hodin) odečtu ten vyselectovaný rozdíl a pomocí funkce to převedu do textu ve formátu XX hodin XX minut

Problém je, že když si uměle posunu vytvoření o příspěvku o 1 hodinu dřív, výsledný timestamp se posune o 3 hodiny

tzn: po vytvoření příspěvku je vypsáno že přesně den od jeho vytvoření uplyne za 24 hodin (správně), když si ale posunu ten čas vytvoření o hodinu dřív, tak už mi to vypisuje že do uplynutí jednoho dne zbývá už jen 21 hodin

Chápu že to popisuju trochu kostrbatě,ale snad to někdo pochopí :) Nejspíš to bude nějaká kravina,ale já jí v tom absolutně nemůžu najít

P.S -> chyba není v překladu na textový výstup, protože i pokud nechám vypsat ten údaj o tom kolik zbývá klasicky ve vteřinách a převedu si to manuálně, vyjde stejná blbost

Odpovědět
28.6.2014 14:11
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Petr D
Člen
Avatar
Petr D:28.6.2014 16:05

Nejsem sice odborník, ale asi bych hledal chybu v dotazu. Tak nějak mi to přijde, že s míchají jablka hrušky. Zkusil bych něco jako:

SELECT TIMEDIFF(ADDDATE([datumvlozeni], +1), NOW()) AS [zbyva] FROM ....

(Případně nahradit ADDDATE za ADDTIME, kdyby to mělo být méně, jak 24hodin)

 
Nahoru Odpovědět
28.6.2014 16:05
Avatar
Petr D
Člen
Avatar
Odpovídá na Petr D
Petr D:28.6.2014 16:07

Samožřejmě bez [], to je kus pro můj db wrapper:D
Takže:

SELECT TIMEDIFF(ADDDATE(datumvlozeni, +1), NOW()) AS zbyva FROM ....
 
Nahoru Odpovědět
28.6.2014 16:07
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:28.6.2014 23:06

Díky moc ;) měl jsi pravdu :) bylo to tak jak jsi psal. Už mi to všechno šlape :)

Asi jsem poslední dobou nějak mimo v tomhle :D

Nahoru Odpovědět
28.6.2014 23:06
Největší časovou náročnost má výpočet časové náročnosti..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.