Toon posts:

[MySQL] datum probleem.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende:
Ik ben bezig een agenda te bouwen voor een tv programma. Elke vrijdag is er een nieuw programma.
Ik heb een database gemaakt met de voorgeprogrammeerde datums:
02-01-2004
09-01-2004
16-01-2004

Nu wil ik een SELECT doen met MySQL. Het probleem is dat hij moet selecteren op de datum van vandaag maar dat hij pas de volgende datum mag pakken als die datum is.

Dus: stel het is 02-01-2004 en hij selecteerd deze record dan moet hij tot en met 08-01-2004 deze record blijven pakken en op 09-01-2004 pas de nieuwe record.
Hoe moet ik dit realiseren met MySQL?

ik heb nu dit:
SELECT *, DATE_FORM(datum, '%d-%m-%Y') as datum FROM agenda WHERE datum >= NOW()";

maar deze is niet goed. Wanneer het 02-01-2004 is geweest dan pakt hij al de volgende.

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Ik snap je verhaal niet helemaal.
Je hebt dus meerdere records met elk een datum.
OF
Je wilt meedere datums in een records stoppen (1 records is een week) :?

Een waarom gebruik je niet gewoon time(). en vervolgens de UNIX time stap opslaan, dan kun veel makkelijker de format om gooien (DD-MM-YY, YY-MM-DD dag-maad-Jaar enz)

edit:
Ik denk dat ik het snap. Als het de week is waar 02-01-2004 in valt dan moet die week het record met 02-01-2003 geselecteerd worden.
Wat hij echter nu doet als het 03-01-2004 dan wordt het record met 08-01-2004 geselecteerd.

Je moet dus eerst uit volgelen in welke week de de datum van nu valt. Vervolgens moet je kijken welke voorgebakken datum uit je DB in dezelfde week valt en dan dat record selecteren toch?

[ Voor 40% gewijzigd door Suepahfly op 27-12-2003 16:25 ]


  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 27-05 08:35

BrZ

Op welke manier heb je de datum in je dbase opgeslagen? Als dit een timestamp is zou je eerst die "NOW()" en "datum" naar een datum moeten omzetten, anders kijkt hij ook naar de tijd, en dat wil je niet ;)

  • Woef
  • Registratie: Juni 2000
  • Niet online
Tip 1:
limit 0,1
Tip 2:
where $date < CURDATE()

Tip 3:
http://www.mysql.com/doc/en/Date_and_time_functions.html

Lijkt mij toch goede tips of niet?

Of dit?!
SELECT *, DATE_FORM(datum, '%d-%m-%Y 00:00') as datum FROM agenda WHERE datum >= NOW()";

[ Voor 34% gewijzigd door Woef op 27-12-2003 16:31 . Reden: Las even niet goed... ]


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je wilt dus alle records hebben waar het dagen verschil met nu, datediff(), >= 0 en < 7 is.