Ik ben een beginnende scripter, alhoewel ik er steeds meer van begrijp zijn er altijd vele vragen. Meestal kom ik er wel achter, een beetje zoeken op het web bijvoorbeeld.
Nu heb ik een database met een datum erinstaan, bijvoorbeeld 28-02-2009. Nou wil ik in een tabel een melding krijgen dat over 2 weken de 28e is. Dus wil ik op 14-02-2009 een melding ontvangen. Hoe kan ik dit het beste in PHP omschrijven. Wie kan we me hier mee helpen? Voor het geval er vragen over komen, ik gebruik voor datum in MySQL de DATE en NIET DE VARCHAR!
Ik ben bezig met een Domein Registratie Systeem. De klant voegt een domein in het systeem. Hier wordt automatisch een datum aan gekoppeld en ook de einddatum. Nou wil ik 2 weken voor die einddatum, een melding krijgen in een tabel dat deze over 2 weken afloopt.
Helaas is jou oplossing niet mogelijk omdat je een waarde geeft. Ik haal de gegevens op uit een database.
Ik ben bezig met een Domein Registratie Systeem. De klant voegt een domein in het systeem. Hier wordt automatisch een datum aan gekoppeld en ook de einddatum. Nou wil ik 2 weken voor die einddatum, een melding krijgen in een tabel dat deze over 2 weken afloopt.
Helaas is jou oplossing niet mogelijk omdat je een waarde geeft. Ik haal de gegevens op uit een database.
En wat is het probleem dan? Om er dan een variabele neer te zetten in plaats van statische tekst is toch niet zo moeilijk?
SELECT id, enmeer, nogmeer
FROM tabel
WHERE eind_datum < NOW() + INTERVAL 2 WEEK
Hiermee krijg je wat info uit de records die je een melding wil geven.
Let wel op dat je daarna deze records even 'wijzigt' zodat je weet dat ze al een melding hebben gehad.
Anders ontvangen ze iedere keer een melding.
Je wilt vast en zeker jaarlijks worden geinformeerd en om dan niet keer op keer weer opnieuw een einddatum te moeten opgeven, is het handiger om op leeftijd te gaan selecteren. Zodra een record weer een (jaartje - 2 weken) ouder wordt, even een melding de deur uit.
In PostgreSQL zou je hiervoor de functie AGE() kunnen gebruiken, in MySQL mag je dit wiel zelf opnieuw gaan uitvinden. Hoewel, hier op PHPhulp komen dit soort vragen, en hun oplossingen, regelmatig voorbij. Google eventjes en het probleem is waarschijnlijk snel opgelost.
Wat doe ik nou verkeerd in het onderstaande stuk code, ik krijg geen foutmelding maar ook geen waarde terwijl er wel 1 moet verschijnen waarvan de datum op morgen staat.
$domein_af = mysql_query("SELECT * FROM domeinnamen ORDER BY DatumTot") or die(mysql_error());
while($domein = mysql_fetch_object($domein_af)){
$ext = mysql_fetch_object(mysql_query("SELECT * FROM domeinextenties WHERE ID='". $domein->Domeinextentie ."'"));
$datum = mysql_query("SELECT * FROM domeinnamen WHERE DatumTot < NOW() + INTERVAL 2 WEEK");
if(mysql_num_rows($datum) == 0){