Ik ben bezig met een vakantiefunctie maar het wil niet lukken.
$tijden = $dagen*24;
$tijd = time() + (3600*$tijden);
$inactief = date("d-m-Y H:i:s",$tijd) ;
$inactief = strtotime($inactief);
mysql_query ("UPDATE users SET vakantie='".$inactief."' WHERE username='".$user."'") or die ( mysql_error() );
Dit werkt niet, als ik die *24 eruit haal werkt het wel. Het gaat erom dat de tijd dagen worden maar als ik van 3600 84600 ( of zoiets ) maak werkt het weer niet.
Het is mij niet helemaal duidelijk wat nu de bedoeling is, maar waarom ben je in PHP met datums aan het klungelen wanneer de database dat veel beter kan?
Zie hoofdstuk 12.5 van de MySQL-handleiding, bv. DATE_ADD()
Waarom werk je niet met een begindatum en einddatum voor de vakantie? MySQL kan prima met data werken en rekenen. Dat is wel net zo gemakkelijk.
Maar wat doet die niet dan? Bij mij als ik voor $dagen 10 invul geeft die als date keurig de datum terug waarop ik terug zou komen van vakantie. Wil je het aantal dagen hebben, dan zal je met begin en einddatum moeten gaan werken. (TIMEDIFF in MySQL is daar ook prima geschikt voor)
Maar voor zover ik kan zien doet de functie het prima, het kan alleen wel zijn dat je (mits je een timestamp veld gebruikt in sql) de quotes in je update query om de in te voegen timestamp weg moet halen.