webForumDet fria alternativet

Shortdate i databasen!

14 svar · 336 visningar · startad av DiDjo

DiDjoMedlem sedan nov. 2002544 inlägg
#1

Hejsan! Hur hämtar jag ut dagens datum, månaden och året ur kolumnen "fodd"? Det jag vill är att de ska stå sin ålder i en dropdown form... det finns 3 st dropdown formulärer... en för dag, en för månad och en för år! I varje ska de plockas ut från "rs("fodd")"

K@llenMedlem sedan mars 20032 667 inlägg
#2

Jag vet inte hur ditt datumformat ser ut, men tillvägagångssättet är:

dteDate = "2004-01-11"
arrDate = split(dteDate, "-")

arrDate(0) ger 2004
arrDate(1) ger 01
arrDate(2) ger 11

red// döpte variabel fel

DiDjoMedlem sedan nov. 2002544 inlägg
#3

hmm... vet inte riktigt hur jag ska lägga in de där...

blir de

dteDate = rs("fodd")
arrDate = split(dteDate, "-")

och sen

arrDate(0)
arrDate(1)
arrDate(2)

i varje formulär?

DiDjoMedlem sedan nov. 2002544 inlägg
#4

Är arrDate(1) månad eller dag? =P

JosefMedlem sedan mars 20023 561 inlägg
#5

DiDjo skrev:

Är arrDate(1) månad eller dag? =P

Månad.

DiDjoMedlem sedan nov. 2002544 inlägg
#6

nvm det fungerar jätte bra :birp

DiDjoMedlem sedan nov. 2002544 inlägg
#7

OKej, det blir lite konstigt... först gick det bra, men sen ändrade jag dagen... och då böt dagen och månaden plats i dropdown boxarna :S

K@llenMedlem sedan mars 20032 667 inlägg
#8

Hur ser datumformatet du använder ut?
Hur använder du resultatet av koden?

DiDjoMedlem sedan nov. 2002544 inlägg
#9

Kanske för att jag lägger in i databasen i följande ordning:
dag/månad/år...
för när jag kollade hur de skrevs ut så vart de 1990/02/26... istället för 26/02/1990... går det att ändra med denna kod? Skulle hellst vilja att de började med dagen

K@llenMedlem sedan mars 20032 667 inlägg
#10

DiDjo skrev:

Kanske för att jag lägger in i databasen i följande ordning:
dag/månad/år...
för när jag kollade hur de skrevs ut så vart de 1990/02/26... istället för 26/02/1990... går det att ändra med denna kod? Skulle hellst vilja att de började med dagen

Då blir det istället:

dteDate = "26/02/1990"
arrDate = split(dteDate, "/")

arrDate(0) ger 26 (dag)
arrDate(1) ger 02 (månad)
arrDate(2) ger 1990 (år)

I vilken ordning du skriver ut dem är upp till dig.

DiDjoMedlem sedan nov. 2002544 inlägg
#11

okej... men fodd finns i databasen... och är för flera användare... antar att det blir samma kod eftersom det ska läggas in i samma ordning iaf...

Men... ifall den är tom? Försökte med detta:

dteDate = rs("fodd")
if not isnull(rs("fodd")) then
arrDate = split(dteDate, "-")
end if

I formulärerna

<%if isnull(rs("fodd")) then%>
<option selected><%=arrDate(0)%></option>
<option value="01">01</option>
<%else%>
<option selected>01</option>
<%end if%>

Men då fick jag:

Typ missmatch: 'arrDate'
DiDjoMedlem sedan nov. 2002544 inlägg
#12

Amen tjossan! Mitt fel! Skulle skriva:
<%if not isnull(rs("fodd")) then%>

Men nu när jag uppdaterade skrevs dagen ut som året i dessa formulärer!

Koden jag använder för att lägga in i databasen:

rs("fodd") = Request.Form("dag") & "/" &  Request.Form("man") & "/" & Request.Form("ar")

Men de hamnar iallafall 1990/02/26 i databasen? :S ska väl va så? :e Men varför skrivs då året i boxen för datumet?

//Edit Går det inte typ att använda datediff eller nått sånt? :) Har för mig att jag använde de förut i någon gammal kod...

DiDjoMedlem sedan nov. 2002544 inlägg
#13

Okej jag löste det =P Använde:

<%=month(rs("fodd"))%>
osv

Men då skrivs månaden ut som 2 istället för 02... men de spelar inte så stor roll

Tack iaf :e

solbulleMedlem sedan mars 20015 287 inlägg
#14

En riktig fullösning OM det bara är den visuella utskriften som ska rättas till:

<%=right("0"&month(rs("fodd")),2)%>
DiDjoMedlem sedan nov. 2002544 inlägg
#15

Ja, de va bara visuella jag vill fixa till :)

Tack för all hjälp allihop! :birp

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)