Datum uit database vergelijken met huidige datum
Ik heb de volgende vraag.
In mijn db heb ik een datum staan van het wegschrijven van een record (alleen dag,maand en jaar).
Nu wil ik een optie maken dat die record alleen aangepast kan worden als er niet meer dan x dagen zit tussen de huidige en datum van invullen. Die x stel ik in de code vast, dat is geen waarde uit de db.
Dus bv:
- Record is weggeschreven op 9-11-2008
- Maximaal aantal dagen staat op 7
- Huidige datum = 10-11-2008
- verschil -> binnen die 7 dagen
Gevolg is dat knop zichtbaar is.
- Record is weggeschreven op 1-11-2008
- Maximaal aantal dagen staat op 7
- Huidige datum = 10-11-2008
- verschil -> meer dan 7 dagen
Gevolg is dat knop niet zichtbaar is.
Iemand een oplossing?
tnx in advance
Het tijdstip is opgehaald en in het variabel $laatst_aangepast gedaan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$laatst_aangepast = 1226334604; // Deze komt uit de database
$aanpastijd = 604800; // 7 dagen in seconden
$aanpasbaar_tot = $laatst_aangepast + $aanpastijd; // Nu hebben we de tijdindex tot wanneer de record mag worden aangepast
if(time() < $aanpasbaar_tot) {
// Als de huidige tijd kleiner is dan $aanpasbaar_tot, mag de record nog gewijzigd worden
echo "De record mag nog aangepast worden";
} else {
// Als de tijd verstreken is (invoeg tijd + 7 dagen) wordt dit uitgevoerd
echo "De record mag niet meer aangepast worden";
}
?>
$laatst_aangepast = 1226334604; // Deze komt uit de database
$aanpastijd = 604800; // 7 dagen in seconden
$aanpasbaar_tot = $laatst_aangepast + $aanpastijd; // Nu hebben we de tijdindex tot wanneer de record mag worden aangepast
if(time() < $aanpasbaar_tot) {
// Als de huidige tijd kleiner is dan $aanpasbaar_tot, mag de record nog gewijzigd worden
echo "De record mag nog aangepast worden";
} else {
// Als de tijd verstreken is (invoeg tijd + 7 dagen) wordt dit uitgevoerd
echo "De record mag niet meer aangepast worden";
}
?>
Je kunt dan een knop invoegen als de if-statement succesvol is.
Gewijzigd op 01/01/1970 01:00:00 door Marco
In de database staan... Juist, watvoor datbase?
Neem aan mysql ?
kijk eens naar : http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html en met name naar INTERVAL....
(alleen dag,maand en jaar), mag hopen dan wel in een DATE type veld....
Anders heb je er nog niet zo veel aan.
@Marco,
Het werkt, ik heb het simpel gehouden en met jouw voorbeeld heb ik het volgende gedaan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$laatst_aangepast = strtotime($row['timestamp']); // Deze komt uit de database, hier wordt de tijd omgezet naar seconden
$aanpastijd = 604800; // 7 dagen in seconden
$aanpasbaar_tot = $laatst_aangepast + $aanpastijd; // Nu hebben we de tijdindex tot wanneer de record mag worden aangepast
if(time() < $aanpasbaar_tot)
{
// Als de huidige tijd kleiner is dan $aanpasbaar_tot, mag de record nog gewijzigd worden
echo '
<form method="post" action="">
<input type="submit" class="button" value="Aanpassen" />
</form>
';
}
else
{
// Als de tijd verstreken is (invoeg tijd + 7 dagen) wordt dit uitgevoerd
echo "De record mag niet meer worden aangepast ";
}
?>
$laatst_aangepast = strtotime($row['timestamp']); // Deze komt uit de database, hier wordt de tijd omgezet naar seconden
$aanpastijd = 604800; // 7 dagen in seconden
$aanpasbaar_tot = $laatst_aangepast + $aanpastijd; // Nu hebben we de tijdindex tot wanneer de record mag worden aangepast
if(time() < $aanpasbaar_tot)
{
// Als de huidige tijd kleiner is dan $aanpasbaar_tot, mag de record nog gewijzigd worden
echo '
<form method="post" action="">
<input type="submit" class="button" value="Aanpassen" />
</form>
';
}
else
{
// Als de tijd verstreken is (invoeg tijd + 7 dagen) wordt dit uitgevoerd
echo "De record mag niet meer worden aangepast ";
}
?>
Tnx voor je hulp