13. oktober 2008 - 21:43
Der er
8 kommentarer og 1 løsning
Hente hundrededele i PHP?
Hejsa allesammen Jeg er ved at lave et såkaldt rekordsystem, hvor man skal kunne indsende sine rekorder. Man indtaster således antalle af timer, minutter og sekunder man har været om den givne ting, og så det gøres således: $rekorden = ($_POST[timer]*60*60)+($_POST[minutter]*60)+$_POST[sekunder]; Når jeg så henter dem ud fra databasen gør jeg følgende: $timer = FLOOR($nummeret['rekord']/3600); $minutter = FLOOR(($nummeret['rekord']%3600)/60); $sekunder = $nummeret['rekord']%60; Jeg er dog nu kommet i tanke om, at jeg har glemt, at også hundrededele spiller en vigtig faktor, så hvordan tilføjer jeg hundrededele så det også ses i rekorden? Og hvordan trækker jeg det ud efterfølgende? Mvh
Annonceindlæg fra Computerworld
13. oktober 2008 - 21:48
#1
Hvorfor ikke gemmer data i 4 respektive felter: timer, minutter, sekunder og hundrede-dele ? I stedet for at beregne hver gang ?
13. oktober 2008 - 21:57
#2
det var egentlig bare for at spare plads, og for at systemet selv kunne foreslå rekordens placering i forhold til andre rekorder.
13. oktober 2008 - 22:03
#3
Jeg mener helt klart at det er godt at gemme det som et tal. $rekorden = ($_POST['timer']*60*60*100)+($_POST['minutter']*60*60)+($_POST['sekunder']*100)+$_POST['hundrededele'];
13. oktober 2008 - 22:17
#4
arne_v: Hvad skal tallene så være når jeg trækker dem ud fra databasen? I forhold til min nuværende: $timer = FLOOR($nummeret['rekord']/3600); $minutter = FLOOR(($nummeret['rekord']%3600)/60); $sekunder = $nummeret['rekord']%60;
13. oktober 2008 - 22:25
#5
Utestet: $timer = FLOOR($nummeret['rekord']/360000); $minutter = FLOOR(($nummeret['rekord']%360000)/60); $sekunder = FLOOR(($nummeret['rekord']%6000)/60); $hundrededele = $nummeret['rekord']%100;
13. oktober 2008 - 23:44
#6
Hmm der er tilsyneladende et problem. Det der bliver indsat som 10 minutter, 10 sekunder og 10 hundrededele bliver til: 616 minutter 16 sekunder 10 hundrededele
14. oktober 2008 - 00:45
#7
$rekorden = ($_POST['timer']*60*60*100)+($_POST['minutter']*60*100)+($_POST['sekunder']*100)+$_POST['hundrededele']; og $timer = FLOOR($nummeret['rekord']/360000); $minutter = FLOOR(($nummeret['rekord']%360000)/6000); $sekunder = FLOOR(($nummeret['rekord']%6000)/60); $hundrededele = $nummeret['rekord']%100;
14. oktober 2008 - 09:20
#8
Fik det til at virke, mange tak =) Svar? Hvis der er andre der har søgt svar på et lignende spørgsmål ser udtrækket således ud: $timer = FLOOR($rekorder['rekord']/360000); $minutter = FLOOR(($rekorder['rekord']%360000)/6000); $sekunder = FLOOR(($rekorder['rekord']%6000)/100); $hundred = $rekorder['rekord']%100;
14. oktober 2008 - 15:26
#9
svar
Vi tilbyder markedets bedste kurser inden for webudvikling