"<" & ">" bij datums

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Laszlo

laszlo

01/04/2008 18:50:00
Quote Anchor link
Hallo allemaal,

Ik ben hier nieuw. Ik beheers HTML goed en javascript een beetje.
PHP is echter heel andere koek. De betekenissen van variabelene e.d. ken ik na al die talloze cursussen wel maar ik had een andere vraag.

Als je bijvoorbeeld een tekstboxje hebt waarin je je leeftijd zet en op controleren drukt dan kun je zoiets neerzetten:
(ps: let niet op spelfouten, gaat om de ruwe opbouw)

if('$leeftijd'>'18' {
echo:'Je mag door'}')
elseif('$leeftijd'=='18' {
echo:'Je mag door'} ')
else('{
echo:'Je mag niet door'}')

(Nogmaals let niet op de fouten)

Nu was de vraag:

Kun je de vogelbekjes ("<" & ">") ook gebruiken bij datums en tijden.
Ik wil namelijk een soort scriptje maken voor mijn website (http://www.eftelingfansite.nl) waarop ik iedere dag kan laten zien, op en tussen bepaalde datums dat de efteling van 10 tot 6 uur open is.
Voor de uitzonderingen in de zomer zou ik dan de elseif kunnen gebruiken...

Ik hoop dat jullie een antwoord hebben.

Gr. Laszlo
 
PHP hulp

PHP hulp

26/12/2024 02:40:32
 
Joren de Wit

Joren de Wit

01/04/2008 18:54:00
Quote Anchor link
Rekenen met data en tijden in PHP is niet het meest eenvoudige onderwerp. Je zult al snel aan de slag moeten met functies als strtotime(), mktime() en date(), maar ook dan loop je nog tegen de nodige problemen aan.

Veel mooier zou het zijn om, als je de beschikking hebt over een database, de datum/tijd berekeningen door de database te laten uitvoeren. Deze is daar veel geschikter voor dan PHP...
 
Laszlo

laszlo

01/04/2008 18:54:00
Quote Anchor link
/// sorry domme vraag

Maar als ik bijv. wil zeggen dat als de datum hoger of gelijk is aan 1 april hoe kan ik dat dan doen. Want SQl kan ik al helemaal niet.
Gewijzigd op 01/01/1970 01:00:00 door laszlo
 
Joren de Wit

Joren de Wit

01/04/2008 18:59:00
Quote Anchor link
Om bijvoorbeeld alle records te selecteren met een datum na 1 april:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT *
FROM tabel
WHERE datum > '2008-04-01'


Om in PHP te controleren of een ingevoerde datum na 1 april valt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sDatum
= '2008-04-12';
$iTimestamp = strtotime($sDatum);
$iCompare = strtotime('2008-04-01');

if($iTimestamp > $iCompare)
{

    // Datum valt na vergelijkingsdatum
}
?>
 
Laszlo

laszlo

01/04/2008 19:09:00
Quote Anchor link
Maar, dan zou ik in die tabel dus alle datums dat het park open is in moeten even, of niet?
 
Joren de Wit

Joren de Wit

01/04/2008 19:36:00
Quote Anchor link
Als je een database gaat gebruiken, zul je eerst moeten normaliseren. Daaruit volgt dan vanzelf waar je de openingstijden van je park op moet slaan...
 
Jelle Posthuma

Jelle Posthuma

02/04/2008 10:38:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if('$leeftijd'>'18' {
echo:'Je mag door'}')
elseif('
$leeftijd'=='18' {
echo:'
Je mag door'} ')
else('{
echo:'
Je mag niet door'}')
?>


Moet zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($leeftijd >= 18){
  echo 'Je mag door';
}
else{
  echo 'Je mag niet door';
}

?>


Of:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($leeftijd >= 18)
  echo 'Je mag door';
else
  echo 'Je mag niet door';
?>


Of:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo ($leeftijd >= 18)?'Je mag door':'Je mag niet door';
?>
 
Gerben Jacobs

Gerben Jacobs

02/04/2008 11:08:00
Quote Anchor link
Je zou het ook heel makkelijk zo kunnen doen, dus zonder database

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
<?php
$uur
= date("G");
$isHetZomer = false;

if ($isHetZomer) {
// Het is zomer
    if ($uur > 9 && $uur < 18) {
    // dus van 9:00:01 t/m 17:59:59
        echo "De zomerefteling is nu open!";
    }
else {
        echo "De zomerefteling is nu dicht.";
    }
}
else {
    if ($uur > 7 && $uur < 22) {
    // dus van 7:00:01 t/m 21:59:59
        echo "De winterefteling is nu open!";
    }
else {
        echo "De winterefteling is nu dicht.";
    }
}

?>


Je zou eventueel zelfs de zomer/winter nog automatisch kunnen uitrekenen.
 
Joren de Wit

Joren de Wit

02/04/2008 11:13:00
Quote Anchor link
@Gerben: en toen veranderden de openingstijden en moest jij weer je code induiken om dat aan te passen.

En dan hebben we het nog niet eens over verschillende openingstijden in bijvoorbeeld het weekend en op feestdagen, en in verschillende periodes in het jaar...

Vele malen makkelijker is om dit met behulp van een database te doen en alle mogelijke openingstijden daarin op te slaan. Als de TS gaat normaliseren volgt daar vanzelf uit op wat voor manier dat er dan in komt te staan.
 
Gerben Jacobs

Gerben Jacobs

02/04/2008 11:23:00
Quote Anchor link
Maar deze persoon kan alleen HTML en PHP is blijkbaar een andere 'koek', dus SQL zou ook wel geen geglazuurde cake zijn.

Tuurlijk ben ik 't met je eens, maar voor een simpel scriptje of de efteling op 't moment open is of niet, voldoet dit toch prima.
 
Laszlo

laszlo

02/04/2008 14:43:00
Quote Anchor link
In ieder geval al bedankt, en een beetje php lukt inderdaad wel, en als je gewoon alles in de SQL aan kunt passen moet het ook nog wel lukken.
Maar zoals de meesten al zeggen een SQL is misschien handiger, want hij is van zoveel tot zoveel iedere dag van 10 tot 6 open.
In die tijd in de zeven zomerweken van 10 tot 9 en op de zaterdagen daarin weer van 10 tot 12. Dan is zo'n database heel handig...

Maar bijvoorbeeld normaliseren.. wat is dat in godsnaam? :S
 
Gerben Jacobs

Gerben Jacobs

02/04/2008 14:55:00
 



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.