login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql query + datums

Offline elecomte - 21/10/2007 11:16
Avatar van elecomteGrafische interesse Ik wil graag met een mysql query uit een tabel die bestaat uit members(naam + geboortedatum + memberid),
alle members selecteren die geboren zijn in het jaar 1998 of vroeger.

Maar het moet werken met bv 2007-9 want vorig jaar, moet het zijn het jaar 1999 of vroeger, en ik wil niet dat ik elk jaar de query's hoef aan te passen.

Iemand een idee?
oja, in geboortedatum zit hun volledige datum (dag/maand*/jaar).

8 antwoorden

Gesponsorde links
Offline marten - 21/10/2007 11:22
Avatar van marten Beheerder http://www.site...SQL_deel_1
http://www.site...:_Functies

Hier vind je vast je oplossing 
Offline elecomte - 21/10/2007 11:29 (laatste wijziging 21/10/2007 14:18)
Avatar van elecomte Grafische interesse Ik vind geen oplossing in de tutorials, iemand anders die me kan helpen?

Citaat:
Rens edit:
Volgende keer wat langer zoeken dan 7 minuten...
Als je iets zoekt, wil het nog wel eens helpen als je er even de tijd voor neemt...?
Offline ranco - 21/10/2007 18:51
Avatar van ranco PHP gevorderde De code ga ik je niet voorkauwen, maar een zetje in de goede richting wel.

Zorg ervoor dat je datum in de database zo wordt opgeslagen dat het makkelijk te scheiden wordt. Bijvoorbeeld: 1980-02-31 (EEJJ-MM-DD)

Vervolgens heb je functies binnen php (zie vorige post) die van een geboortedatum alleen de eerste 4 cijfers leest. Oftewel, alleen het geboortejaar.

Vervolgens maak hier omheen een mooi query en klaar.

Check de tutorials op deze website nogmaals. Het is het makkelijkst om hier om een kant en klaar antwoord te vragen, maar zelf uitzoeken werkt veel beter. Uiteraard is een zetje in de goede richting nooit verkeerd ;)
Offline Voldemort - 21/10/2007 20:55
Avatar van Voldemort PHP ver gevorderde Als het zo is opgeslaan:

JJJJ-MM-DD

Dan kan je controleren in je query of het resultaat begint met 1998. Dit kan je doen met LIKE.

http://www.site...MySQL/LIKE
Offline Wim - 21/10/2007 22:37 (laatste wijziging 21/10/2007 22:38)
Avatar van Wim Crew algemeen zorg dat je veldtype date is, en gebruik een WHERE DATE_FORMAT(datefield, '%Y') < '1988'

dus:

  1. SELECT
  2. *
  3. FROM
  4. TABLE
  5. WHERE
  6. DATE_FORMAT(datefield, '%Y') < '1988'


//edit:
eerst wel gans je datum-kolom converteren denk ik... 
Offline elecomte - 21/10/2007 22:41
Avatar van elecomte Grafische interesse Bedankt,

Ik heb de vorige tutorials even uitgeprint en ze hebben me al een heel stuk verder geholpen.
Datums sla ik altijd op als date, omdat ik weet dat je daar dan mee kan rekenen. Alleen, dat rekenen, dat moet ik nog ontdekken!

Alvast bedankt voor de antwoorden ik ga morgenochtend even uitzoeken of het lukt.
Is het mogelijk om in de query te rekenen?
Ik wil namelijk automatisch dat hij dit jaar - 11 elf jaren doet.
Dit omdat de limiet elk jaar 1 jaartje opschuift (tis voor een jeugdbeweging leden script).

Thx!, ik laat nog even weten hoever ik sta wanneer ik klaar ben met de nieuwe informatie te verwerken!
Offline Wim - 21/10/2007 22:46
Avatar van Wim Crew algemeen for sure gaat het.... werk wel buiten quotes dan!
Offline ranco - 22/10/2007 01:35
Avatar van ranco PHP gevorderde Ook rekenen gaat, en rekenen binnen MySql gaat ook. Kijk maar eens naar de volgende tutorial:

http://www.site...e_functies
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s