Rekenen met tijd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Jan Koehoorn

Jan Koehoorn

09/12/2005 21:13:00
Quote Anchor link
Makkelijker is: 1 SQL query ipv 30 regels code in PHP.
 
PHP hulp

PHP hulp

19/11/2024 11:40:24
 
Knorfski

Knorfski

10/12/2005 21:59:00
Quote Anchor link
Ik heb nu het volgende werkend:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?PHP
$tijd1
= strtotime($jevergelijktijd1);
$tijd2 = strtotime($jevergelijktijd2);
$temp = $tijd1-$tijd2;
echo date('d',$temp).' Dagen ';
echo date('m',$temp).' Maand ';
echo date('Y',$temp).' Jaar verschil';
?>


Nu krijg ik eruit bijvoorbeeld als ik de 5 weken verder ga, dan krijg ik 1 maand en zoveel dagen. is het ook mogelijk om alleen een aantal dagen te krijgen ?

Alvast bedankt ! :)

-Knorfski
 
Willem Jan Z

Willem Jan Z

10/12/2005 22:01:00
Quote Anchor link
Denk dat je het dan vanuit secondes moet omrekenen... Maar misschien heeft iemand anders een andere oplossing :D
 
Jan Koehoorn

Jan Koehoorn

10/12/2005 22:04:00
Quote Anchor link
Nee, dat is precies hoe het moet. Een timestamp is gewoon het aantal seconden sinds 1 januari 1970.

Als je weet dat een dag 24 * 3600 seconden duurt, moet het lukken, lijkt me.

edit: in MySQL gaat het heel simpel: DATEDIFF geeft het verschil in dagen ;-)
Gewijzigd op 10/12/2005 22:10:00 door Jan Koehoorn
 

11/12/2005 00:32:00
Quote Anchor link
Schei toch uit met je SQL :p
Ik hou het op sommige dingen echt op de timestamps :)
 
Knorfski

Knorfski

11/12/2005 08:14:00
Quote Anchor link
\o/ ! Ik wist niet eens dat die cijferbrij in seconden waren :D
 
Jan Koehoorn

Jan Koehoorn

11/12/2005 10:11:00
Quote Anchor link
Sebastiaan:
Schei toch uit met je SQL :p
Ik hou het op sommige dingen echt op de timestamps :)


Uiteraard ;-)
 
Jan Koehoorn

Jan Koehoorn

11/12/2005 10:12:00
Quote Anchor link
Knorfski:
o/ ! Ik wist niet eens dat die cijferbrij in seconden waren :D


Ja, dus je kunt er mee rekenen zoals met seconden. Zie mijn vorige post. Bijvoorbeeld zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
$tijd1
= strtotime($jevergelijktijd1);
$tijd2 = strtotime($jevergelijktijd2);
$temp = $tijd1-$tijd2;
$aantal_dagen = floor ($temp / 86400);
Gewijzigd op 11/12/2005 10:15:00 door Jan Koehoorn
 
Knorfski

Knorfski

11/12/2005 10:13:00
Quote Anchor link
Ja, dat wist ik niet :P Nu wil alles ineens een stuk makkelijker, nu hoef je niet constant al die waarden om te zetten.
 
Jan Koehoorn

Jan Koehoorn

11/12/2005 10:45:00
Quote Anchor link
Doe maar eens dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$test
= strtotime ('1 january 1970 00:00');
echo $test; // geeft "keurig" -3600 ivm zomertijd
$test = strtotime ('2 january 1970 01:00');
echo $test; // geeft 86400 (24 * 3600)
?>
Gewijzigd op 11/12/2005 10:48:00 door Jan Koehoorn
 
Knorfski

Knorfski

11/12/2005 10:52:00
Quote Anchor link
Even snel een vraagje tussendoor:

Hoe geef je ook alweer aan dat een loop false is,
zodat hij stopt ?

Alvast bedankt :)
 
Jan Koehoorn

Jan Koehoorn

11/12/2005 10:54:00
Quote Anchor link
Met break;
 
Knorfski

Knorfski

11/12/2005 10:55:00
Quote Anchor link
danku :)
 
Knorfski

Knorfski

14/12/2005 13:38:00
Quote Anchor link
Ik heb nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
error_reporting(E_ALL);

$bwijze     =    $_GET['bwijze'];
$begind        =    $_GET['begindatum'];
$aantald    =    $_GET['aantald'];
$prijs        =    $_GET['prijs'];
$naam        =    $_GET['naam'];

//De database selecteren en de verbinding instellen naar de database
$dbc = mysql_connect('localhost', 'root', 'Fokko123');
mysql_select_db('camping', $dbc);

if($bwijze == "Pin"){
?>

<script language="javascript">
alert("U dient nu €
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_GET['prijs']; ?>
via de pin te betalen.")
</script>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
} elseif($bwijze == "Contant"){
?>

<script language="javascript">
alert("U dient nu €
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_GET['prijs']; ?>
contant te betalen.")
</script>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
} elseif($bwijze == "Rekening"){
?>

<script language="javascript">
alert("Er word een bedrag van €
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_GET['prijs']; ?>
op uw rekening gezet.")
</script>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
}

$tijd1    =    strtotime($begind);
$tijd2    =    $aantald    *    86400;

$tijd3    =    $tijd1    +    $tijd2;

$eindd    =    date("Y-m-d",$tijd3);
/*
$query1    =    "INSERT INTO transacties VALUES('$naam','$prijs','$begind','$eindd','0','0') where ";
*/



?>

<!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=iso-8859-1" />
<title>Untitled Document</title>
<link href="../../../paginas/css/lettertypen.css" rel="stylesheet" type="text/css" />
</head>



<body>
<p align="center" class="style6"><strong>Boeking voltooien:</strong></p>
<p align="center">De order word verwerkt. een ogenblik geduld. </p>
<p align="center">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
$query3
    =    "SELECT * FROM plaatsen order by plek";

$result3    =    mysql_query($query3);

while($row3    =    mysql_fetch_array($result3))
{


$nr    =    $row3['plek'];

$query4    =    "SELECT * FROM transacties WHERE veld=$nr and ( (begind  NOT BETWEEN $begind AND $eindd) AND (eindd NOT BETWEEN $begind AND $eindd) )";

$result4     =    mysql_query($query4) or die(mysql_error());

$row4    =    mysql_fetch_array($result4);

if($row4 == "")
{

echo $nr.' is nog open<br>';

$query2    =    "INSERT INTO transacties(naam, prijs, begind, eindd, primarykey, veld) values('$naam', '$prijs', '$begind', '$eindd', '0', '$nr')";

$boekingvoltooid    =    TRUE;

$result2    =    mysql_query($query2) or die(mysql_error());
if(isset($boekingvoltooid))
{

break;
echo 'U mag dan plaatsnemen op veld nummer '.$nr.'.';
}


if(isset($boekingvoltooid))
{

break;
}

if(isset($boekingvoltooid))
{

break;
}
}




?>

</p>
</body>
</html>


Maar vreemdgenoeg krijg ik het niet goed voorelkaar als ik meerdere boekingen op 1 veld doe, dan krijg ik nog steeds de foutmelding als het veld vol is en dan pakt hij het volgende veld :S

Volgens mij klopt het gewoon :S

Ik snap het niet zo goed meer...
 
- SanThe -

- SanThe -

14/12/2005 13:52:00
Quote Anchor link
Kijk eens hier onder scripts->voorbeelden->dagen_geleden. Misschien heb je er wat aan.
 
Knorfski

Knorfski

14/12/2005 14:14:00
Quote Anchor link
De tijd terug rekenen is wel goed, alleen het MySQL gedeelte waar hij kijkt als het veld al bezet is of niet op een bepaaldtijdstip.

Edit:
<b>Ik zit in het verkeerde topic xD</b>
Gewijzigd op 14/12/2005 16:28:00 door Knorfski
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.