afteltijd in php
ik wil graag een bouwsysteem maken die dan een bepaalde bouwtijd aftelt. Ik wil dan een query maken waarbij hij dus de huidige tijd optelt met een aantal seconden en dat in de database zet. Dan trek ik dus de huidige tijd van de opgeslagen tijd af zodat je een tijd krijgt die aftelt. Maar hoe kan ik dit maken want stel dit is de huidige tijd: 13:39:34 en ik doe + 30 seconden, dan krijg je 13:39:64 dan telt hij door.
Hoe kan ik dit probleem verhelpen?
groetjes michael
(let op, zonder 's' op het einde)
Gewijzigd op 03/01/2014 14:08:00 door - Ariën -
Maar is dat dan wel server tijd?
Ja, want MySQL is zelf ook serverside.
En, kan ik ook alleen de tijd er in zetten i.p.v. de tijd en datum en kan ik ook de huidige tijd aftrekken van de tijd die in de database is gestopt?
CURTIME() geeft de tijd.
Gewijzigd op 03/01/2014 14:49:57 door - Ariën -
geeft: -1
Toevoeging op 03/01/2014 15:01:16:
$buildprocess_array['timestamp'] heeft de waarde 14:56:25
Toevoeging op 03/01/2014 15:04:05:
En moet de rij `timestamp` als type time krijgen?
Je kan prima met MySQL uit de voeten. Je moet alleen DATETIME als type gebruiken, of TIME.
Maar, hoe kan ik dat dan doen?
Via phpMyAdmin kan je het kolomtype aanpassen naar DATETIME of TIME.
Haha, ik bedoel hoe kan ik met MySQL de tijden van elkaar aftrekken?
- Aar - op 03/01/2014 14:06:12:
Met MySQL kan je gewoon NOW() + INTERVAL 30 SECOND doen
(let op, zonder 's' op het einde)
(let op, zonder 's' op het einde)
- Aar - op 03/01/2014 14:48:59:
Ja dat kan. + is optellen en - is aftrekken.
CURTIME() geeft de tijd.
CURTIME() geeft de tijd.
Gewijzigd op 03/01/2014 17:04:11 door - Ariën -
Code (php)
1
mysqli_query($connect_db,"UPDATE buildprocess SET timestamp = '".$buildprocess_array['timestamp']."' - CURTIME() ") or die(mysqli_error($connect_db));
dan zet hij dat in de database maar ik wil dat het alleen te zien is voor de gebruiker.
SELECT `timestamp` + INTERVAL 30 SECOND FROM `buildprocess `
Code (php)
1
2
3
2
3
<?php
$timer = mysqli_query($connect_db,"SELECT `timestamp` - CURTIME() FROM buildprocess WHERE city_id = ".$users_array['visitedcity_id']."") or die(mysqli_error($connect_db));
?>
$timer = mysqli_query($connect_db,"SELECT `timestamp` - CURTIME() FROM buildprocess WHERE city_id = ".$users_array['visitedcity_id']."") or die(mysqli_error($connect_db));
?>
maar dan krijg ik deze error:
Gewijzigd op 03/01/2014 18:56:38 door - Ariën -
dan krijg ik -99. Sorry, ik weet echt niet wat er mis is
Wat wil je eigenlijk bereiken? Je wou toch 30 sec. erbij optellen?
Gewijzigd op 03/01/2014 19:31:53 door - Ariën -
Toevoeging op 03/01/2014 19:54:42:
In timestamp zit 19:05:46
Dat moet je dan met JS doen.
ja, maar ik wil zegmaar de huidige tijd van de tijd in de database aftrekken zodat je een afteltijd krijgt. Hoe doe ik dat?