Ik heb op m'n spel een functie om een soort lidmaatschap te kunnen kopen voor extra mogelijkheden.
Ik sla de datum wanneer dit lidmaatschap verloopt op als date in mysql volgorde: (Y-m-d).
Hoe kan ik, dat als mensen kopen, dat er een maand bijkomt? kan dat in een MySQL query? Of kan ik dat doen dmv. date();
De php oplossing, mits je altijd vanaf het moment dat je toevoegd, een maand neemt:
<?
// Een datetime string;
date('Y-m-d',strtotime('+1 month'));
?>
Dat wist ik zelf ook wel. Maar het is de bedoeling dat ik een maand toevoeg aan de verloopdatum (dus dat je een extra maand krijgt)
?
Onbekende gebruiker
29-07-2010 00:24
Pieter van Linschoten op 29/07/2010 00:00:48
DAt kan met PHP of met een query.
De php oplossing, mits je altijd vanaf het moment dat je toevoegd, een maand neemt:
<?
// Een datetime string;
date('Y-m-d',strtotime('+1 month'));
?>
En het netste is het om het direct in de db te doen, want die kan het sneller, heeft het juiste formaat (als het goed is) en als het systeem waar php draait nog eens verkeerd is ingesteld, dan heb je kans dat je rekent met de verkeerde time zone of tijd.
Gewoon met db doen dus.
[quote="Pieter van Linschoten op 29/07/2010 00:00:48"]
DAt kan met PHP of met een query.
De php oplossing, mits je altijd vanaf het moment dat je toevoegd, een maand neemt:
<?
// Een datetime string;
date('Y-m-d',strtotime('+1 month'));
?>
En het netste is het om het direct in de db te doen, want die kan het sneller, heeft het juiste formaat (als het goed is) en als het systeem waar php draait nog eens verkeerd is ingesteld, dan heb je kans dat je rekent met de verkeerde time zone of tijd.
Gewoon met db doen dus.
[/quote]
Mn timazone staat op europe/amsterdan, en werkt prima :)
Maar, back2question, kan ik misschien dee datum in mn DB in date() zetten en dan srttotime('+1 month') erbij inzet, en daarmee mn DB update?
?
Onbekende gebruiker
29-07-2010 00:28
gewijzigd op 29-07-2010 01:20
Roboroads PHP op 29/07/2010 00:26:20
[quote="Karl Karl op 29/07/2010 00:24:57"]
[quote="Pieter van Linschoten op 29/07/2010 00:00:48"]
DAt kan met PHP of met een query.
De php oplossing, mits je altijd vanaf het moment dat je toevoegd, een maand neemt:
<?
// Een datetime string;
date('Y-m-d',strtotime('+1 month'));
?>
En het netste is het om het direct in de db te doen, want die kan het sneller, heeft het juiste formaat (als het goed is) en als het systeem waar php draait nog eens verkeerd is ingesteld, dan heb je kans dat je rekent met de verkeerde time zone of tijd.
Gewoon met db doen dus.
[/quote]
Mn timazone staat op europe/amsterdan, en werkt prima :)
[/quote]
Ach, ja, met de auto kan je ook bochten afsnijden, totdat je tegen een tegenligger oprijd.
Nee, je zet de datum in de db met CURDATE() en dan een maand erbij doe je met CURDATE() + INTERVAL 1 MONTH. Zie link die je hebt gekregen.