[php] Datum probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 15-09 20:09
Ik ben bezig met een klein uren registratie scriptje. Nu loop ik tegen een vervelend probleem aan.
Ik geef mezelf de mogenlijkheid om van 3 dagen geleden nog mijn uren in te kunnen vullen. Als ik nu op 1 juni mijn uren wil veranderen van 29 mei dan lukt me dat niet.
Ik heb hetvolgende nu gemaakt:
code:
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
45
<select name="dag">
<option></option>
<option>
<?

$maand_array = array( 
      "01", "02", "03", "04", 
      "05", "06", "07", "08", "09", 
      "10", "11", "12"); 
   $datum = date("j ");
   $datum1 = $maand_array[date("n") - 1];
   $datum2= date(" Y");
   $tijd = date("H:i"); 

   
$datum3 = $datum -2;



echo "$datum3";
echo "&nbsp"; 
echo "$datum1";
echo "$datum2";
?>
</option>

<option>
<?
$datum4 = $datum -1;


echo "$datum4";
echo "&nbsp"; 
echo "$datum1";
echo "$datum2";
?>
</option>
<option>
<?
echo "$datum";
echo "$datum1";
echo "$datum2";
?>
</option>
</select>

Afbeeldingslocatie: http://wijtvliet.xs4all.nl/younginventors/images/foutdatum.JPG

Ik moet dus zorgen dat wanneer ik 2 dagen terug wil kijken, ik de datum helemaal aanpas naar 2 dagen terug. Zoals in het plaatje te zien is, heb is het vandaag 1 juli en wil ik de waardes van 29 juni invullen. Je kan zien dat de maand hetzelfde blijft ,en dat er een min waarde uitkomt uit de dag.

Ik heb geprobeerd om een if then else structuurtje te maken maar dan klopt er helemaal niks meer van.

Ook weet ik niet hoe je erachter komt of een maand 31 of 30 dagen heeft.

[ Voor 19% gewijzigd door IJnte op 27-06-2004 19:18 . Reden: extra vraagje ]

Exploring the world by bicycle! cyclingsilk.wordpress.com


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Nu online
werk met timestamps. drie dagen geleden is dan 60sec*60min*24uur*3dagen geleden. en dan pas weer omrekenen naar "normale" data

Acties:
  • 0 Henk 'm!

  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

Je moet timestamps gebruiken, daar kan je gemakkelijk 24 uur van aftrekken en dan via de date functie weer een normale datum er van maken.

(wat hij zegt :D)

[ Voor 9% gewijzigd door Rob op 27-06-2004 19:18 ]

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Nu online
ach, ik heb tijd over :P
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//begin van dropdown
echo "<select>";
//eerste optie
echo "<option>Kies een datum</option>";

//timestamp: vandaag
$today = date("U");
//timestamp: drie dagen geleden (60sec*60min*24uur*3dagen=259200)
$three_days_ago = $today - 259200;

//loopje van 3 dagen :P
for($i=$today;$i>$three_days_ago;$i=$i-86400)
{
    //datum in juiste vorm van huidige optie
    $this_date = date("d-m-Y",$i);
    //datum weergeven
    echo "<option value='" . $this_date . "'>" . $this_date . "</option";
}

//dropdown sluiten
echo "</select>";
?>

Acties:
  • 0 Henk 'm!

  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 15-09 20:09
owkee dit werkt! thnx daarvoor. Alleen nu nog een vraagje hierover.
Kan ik met timestamp ook de "losse" dagen en maanden in een variabele zetten?
Ik wil dus de dagen in een apparte variabele, en de maanden in een apparte variabele.

Exploring the world by bicycle! cyclingsilk.wordpress.com


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Nu online
IJnte schreef op 27 juni 2004 @ 19:39:
owkee dit werkt! thnx daarvoor. Alleen nu nog een vraagje hierover.
Kan ik met timestamp ook de "losse" dagen en maanden in een variabele zetten?
Ik wil dus de dagen in een apparte variabele, en de maanden in een apparte variabele.
http://nl.php.net/date

Je wilt dus alle waarden (dag maand jaar) los hebben

Ik zou dan de value van de datum:
<option value=blaat.....
als timestamp doorsturen en niet als "gewone" datum (27-06-2004)

wanneer je dan je formulier verwerkt vraag je ze apart op:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
//waarde van formulier ophalen
$date_to_edit = $_POST["datum"];
//wel invoer controleren
if(is_numeric($date_to_edit))
{
    $day = date("d",$date_to_edit);
    $month = date("m",$date_to_edit);
    $year = date("Y",$date_to_edit);

    //en dan er wat mee doen
}
?>

Acties:
  • 0 Henk 'm!

  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 15-09 20:09
thnx!! hier kunnen we weer verder mee gaan!! heel erg bedankt!

Exploring the world by bicycle! cyclingsilk.wordpress.com

Pagina: 1