login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Date en between (Opgelost)

Offline IndexS - 22/04/2010 22:12
Avatar van IndexSMySQL interesse Na een paar maandjes geen tijd te hebben gehad, heb ik toch maar weer een liggend projectje opgepakt. Destijds ben ik blijven hangen met een probleem met datums en het gebruik van between. Met dit probleem begin ik nu dus ook weer.

Ik heb een kolom DATE en de datum staat er als 2000-01-01 in. Maar wat is nu de beste, makkelijkste manier om gegevens weer te geven tussen 2 datums in met behulp van between? Ik kom er nog steeds niet uit. Ik heb hier meerdere dingen gevonden en geprobeerd maar het wil maar niet werken voor mij.

Ik wil gewoon een begindatum opgeven en een einddatum. Alles wat er tussen valt moet dan weergegeven worden.

geboortedatum BETWEEN 'begindatum' AND 'einddatum'
Bovenstaande lijkt bij mij niet te werken. 

Misschien dat iemand een mooi voorbeeldje heeft voor mij??  

5 antwoorden

Gesponsorde links
Offline vinTage - 23/04/2010 07:17 (laatste wijziging 23/04/2010 07:18)
Avatar van vinTage Nieuw lid Onderstaande werkt gewoon hoor (net getest)
  1. SELECT iets FROM tabel WHERE date_kolom BETWEEN '2010-03-19' AND '2010-04-21'
Offline IndexS - 26/04/2010 18:39
Avatar van IndexS MySQL interesse Ok, dat werkt idd. Het probleem zit ergens anders bedenk ik me nu. De datums die men opgeeft zijn op de nederlandse manier; 25-04-2010. Ik moet dus even kijken dat ik dat eerst omzet naar 2010-04-25 voordat het gebruikt wordt.
Offline TotempaaltJ - 26/04/2010 19:15
Avatar van TotempaaltJ PHP interesse Dat kan, met een simpele preg_replace:
  1. preg_replace('/([0-9]{2})-([0-9]{2})-([0-9]{4})/', '$3-$2-$1', $datum)

Omdat ik het klaar had liggen geef ik het maar vast, maar probeer het wel te snappen.
Bedankt door: IndexS
Offline IndexS - 27/04/2010 22:29 (laatste wijziging 28/04/2010 08:28)
Avatar van IndexS MySQL interesse Bedankt voor je reactie. Het lijkt prima te werken. Bedankt! Ik heb het onderstaande gebruikt.

  1. $begin_datum = $_POST['opgegevenbegindatum'];
  2. $begindatum = preg_replace('/([0-9]{2})-([0-9]{2})-([0-9]{4})/', '$3-$2-$1', $begin_datum);
  3.  
  4. $eind_datum = $_POST['opgegeveneinddatum'];
  5. $einddatum = preg_replace('/([0-9]{2})-([0-9]{2})-([0-9]{4})/', '$3-$2-$1', $eind_datum);


En dan in de query
geboortedatum BETWEEN '$begindatum' AND '$einddatum'
Offline TotempaaltJ - 28/04/2010 07:26
Avatar van TotempaaltJ PHP interesse Mooi. code tags hé!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.279s