Toon posts:

[mysql] datum probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een mysql database waarin de datum in verschillende kolommen (dag, maand en jaar) staat. Nu wil ik alle rijen ophalen tussen 2 data's. En daar komt mijn probleem :) Wanneer ik dus alle data tussen nu en een maand vooruit select, select ie dus tussen de maanden 12 en 1, dus krijg ik het hele jaar te zien.

Weet iemand hier een oplossing voor, liefst zonder unix timestamp :)

thnx

Verwijderd

En als je zoekt op het nummer van de maand EN het jaartal?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op zaterdag 01 december 2001 13:45 schreef rollator het volgende:
Ik heb een mysql database waarin de datum in verschillende kolommen (dag, maand en jaar) staat.
Dat is niet zo handig. Je hebt niet voor niets speciale kolomtypes voor data.
Wanneer ik dus alle data tussen nu en een maand vooruit select, select ie dus tussen de maanden 12 en 1, dus krijg ik het hele jaar te zien.
Je zou iets als "select * from blaat where ((jaar*12)+maand) between .. and .." kunnen doen. Maar je data meteen op een handigere manier opslaan zal wel wat sneller gaan denk ik. :)

Verwijderd

Waarom gebruik je MySQL er zijn genoeg andere mogelijkheden probeer is JAVA die werkt correct en is makkelijk te installeren ( intevoegen bij je html )
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<SCRIPT LANGUAGE="JavaScript">
var day="";
var month="";
var myweekday="";
var year="";
mydate = new Date();
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
weekday= myweekday;
myyear= mydate.getYear();
year = myyear
if(myday == 0)
day = " zondag "    
else if(myday == 1)
day = " maandag "
else if(myday == 2)
day = " dinsdag "   
else if(myday == 3)
day = " woensdag "   
else if(myday == 4)
day = " donderdag "
else if(myday == 5)
day = " vrijdag "
else if(myday == 6)
day = " zaterdag "
if(mymonth == 0) {
month = "januari "}
else if(mymonth ==1)
month = "februari "
else if(mymonth ==2)
month = "maart "
else if(mymonth ==3)
month = "april "
else if(mymonth ==4)
month = "mei "
else if(mymonth ==5)
month = "juni "
else if(mymonth ==6)
month = "juli "
else if(mymonth ==7)
month = "augustus "
else if(mymonth ==8)
month = "september "
else if(mymonth ==9)
month = "oktober "
else if(mymonth ==10)
month = "november "
else if(mymonth ==11)
month = "december "
</SCRIPT>

Die moet in de HEAD
code:
1
<FONT FACE="Tahoma, Arial, Helvetica"><script language="JavaScript">document.write("" + day);document.write(myweekday + " " + month + year + "");</script>

En die moet in je body en klaar

Ik weet niet of dit een geweldig alternatief is maar goed kijk maar wat je ermee doet.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op zaterdag 01 december 2001 16:37 schreef Revolutions het volgende:
JAVA
Dat is helemaal geen Java.

En ik snap niet hoe je Javascript en MySQL in vredesnaam qua functionaliteit met elkaar kunt vergelijken. :?

Verwijderd

Ik probeer het niet met elkaar te vergelijken maar een altewrnatief aan te bieden.

  • Tassadar
  • Registratie: September 1999
  • Laatst online: 03-09 22:12

Tassadar

l33t h4x0r :)

Op zaterdag 01 december 2001 16:40 schreef Revolutions het volgende:
Ik probeer het niet met elkaar te vergelijken maar een altewrnatief aan te bieden.
Hij heeft een MySQL database waar hij een query op wil uitvoeren en als alternatief geef jij een stukje Javascript dat hij in een HTML zou kunnen verwerken? :?

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Op zaterdag 01 december 2001 16:32 schreef Onno het volgende:

[..]

Dat is niet zo handig. Je hebt niet voor niets speciale kolomtypes voor data.
[..]
Soms is deze oplossing wel een stuk efficienter. Bijvoorbeeld als je alle records wil hebben 'op de derde van de maand'. Als dag_van_de_maand dan een apart veld is, wordt je query een stuk sneller.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Kan je niet iets doen in de trant vaan SELECT jaar*365 AS jaar, maand*12 AS maand, dag FROM blaat.
Dan heb je iig al een datum die je met een andere datum kan vergelijken....

  • Onno
  • Registratie: Juni 1999
  • Niet online
maand*12? Mwoh.. lijkt me geen goed plan. :)

(is overigens niet handig rekenen als je ook de dagen erbij wilt betrekken, omdat niet elke maand even lang is)

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Het volgende werkte bij mij goed:
code:
1
2
3
4
5
select 
 from_days(to_days(concat(Jaar,'-', Maand, '-', Dag)))
 as Datum from Tabel 
HAVING
 Datum > from_days(to_days('2001-04-01'))

... maar het is wel heel smerig.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Topicstarter
Ik heb bewust voor de gescheiden kolommen gekozen, had te maken met de wensen van de klant :)

hehe is wel errug smerig bigtree :P
maar zal het es proberen ;)
Pagina: 1