27. juli 2006 - 09:46Der er
7 kommentarer og 1 løsning
Datediff problem
Hvad gør jeg galt her?
PHP, mysql. Jeg et felt med DATETIME i db og kollonnen hedder datostart. Jeg ønsker antal dage, timer og minutter til den aktuelle tid now(). Den skriver ingen data ud med nedenstående.
select *, DATEDIFF(datostart, now()) as tdif from Tabel
You woul dhave to make some code which calculated the diffrence for you, unless there is some other smart way to do it in MySQL.
Synes godt om
Slettet bruger
28. juli 2006 - 02:35#8
SELECT *, CAST(UNIX_TIMESTAMP(datostart) - UNIX_TIMESTAMP(NOW()) AS SIGNED INTEGER) AS tdif
returnerer antallet af sekunder mellem nu og datostart. Bemærk, at hvis datostart er passeret, vil tallet være negativt.
Så kan du i PHP fange de andre værdier med denne stump:
$t = $myrow['tdif']; // husk '' om navnet $fortid = ($t<0); // Hvis t er negativ, er $fortid nu true, ellers er den false if($fortid) $t = -1 * $t; // Nu er $t positiv
$sekunder = $t % 60; $t = ($t - $sekunder) / 60; // fjern sekunder fra $t og omregn til minutter
$minutter = $t % 60; $t = ($t - $minutter) / 60; // fjern minutter fra $t og omregn til timer
$timer = $t % 24; $t = ($t - $timer) / 24; // fjern timer, og omregn til dage
$tekst = "$t dage, $timer timer og $minutter minutter";
if($fortid) { echo "Datoen er for $tekst siden."; } else { echo "Datoen er om $tekst."; }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.