Gå til innhold

[Løst]Kvifor får eg negativ verdi?


Anbefalte innlegg

Hei,

Eg har no redigert ein tråd i håp om å få noko hjelp. Har samtidig laga eit døme eg kan vise til offentligheita.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Datogenerator</title>
<link href="stil.css" rel="stylesheet" type="text/css" />
</head>
<body>

<?php
$fradato = $_GET['fra'];
$intervall = $_GET['intervall'];
$fradatobin = explode(".", $fradato);

$nydato = date("d.m.Y", mktime(0, 0, 0, $fradatobin[1]+$intervall, $fradatobin[0], $fradatobin[2]));

$time_A = strtotime("$nydato");
$time_B=strtotime("$fradato");
$numdays=intval(($time_B-$time_A)/86400);

$idag = date("d.m.Y");

$tidigjen_A = strtotime("$nydato");
$tidigjen_B=strtotime("$idag");
$numdaysigjen=intval(($tidigjen_B-$tidigjen_A)/86400);




?>
<div id="kontainer">
<form action="index.php" method="GET">
<input type="text" name="fra" value="<?php echo date("d.m.Y")?>"> Fra dato<br/><br/>
<input type="text" name="intervall"> Måneder mellom<br/><br/>
<input type="text" name="nydato" value="<?php echo $nydato ?>"> Ny dato
<br/><br/>
<input type="submit" value="OK">
</form>
<br/>
Det er <?php echo $numdays;?> dager mellom disse to datoene.<br/>
Det gjenstår <?php echo $numdaysigjen; ?> dager.
</div>
</body>
</html>

 

Her får dykk HTML óg, for dei som vil prøve.

Uansett, det som er merkeleg er når det gjenstår eit positivt antall dager skriv PHP ut -30 foreksempel. Når antallet dager ikkje er positivt skriv PHP ut dagen som positiv.

Kvifor, og korleis kan eg fikse det?

 

Videre så treng eg litt hjelp til å sjå til eventuelle problemer dette scriptet kan få.

Det skal nyttast samen med eit program er har utvikla for å halde styr på når eit element frå databasen går ut og må fornyes basert på eit gitt antall måneder.

Ein skriv altså inn kva tid elemente vart posta, PHP lager ein sluttdato, og skriv ut kor mange dager det har igjen.

 

Takker for alle svar.

Endret av steffenz
Lenke til kommentar
Videoannonse
Annonse
Er ikke det bare å snu regnestykket da? $time_A - $time_B i steden? :p

:blush:

Korleis går det ann?! Eg vart så utruleg opphengt i dette, og kunne ikkje forstå kvifor i alle dagar (hehe, ja i alle dagar).

Eg trur kanskje dette er eit godt tidspunkt å gå ein tur i skogen å samle tankane. Har hatt same prosjekt oppe i dagevis no, óg logikken forsvinn sakte men sikkert frå hovudet mitt. :p

Tusen hjerteleg takk, dette var utruleg flaut!

 

Men ser du noko som kan vere feil med dette scriptet ellers?

Noko problemer eg kan støte på underveis?

Lenke til kommentar

Det er ikkje noko problem. Der eg skal nytte dataene kjem informasjonen frå date funksjonen, utelukkande.

Dette var berre for å prøve i praksis.

 

Utfra dagen idag skal eg generere ein dag om gitt antall måneder (skrevet inn frå brukaren) og samtidig rekne ut kor mange dager ein får i mellom.

Men eg trur eg har løysinga her.. Med mindre eg bør tenke på noko spesielt når eg nyttar date og mktime. Den fikser jo skuddår og liknande sjølve?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...