webForumDet fria alternativet

Ålder Söknings problem

ASP

6 svar · 170 visningar · startad av ConnyFox

Medlem sedan aug. 20011 087 inlägg
Frågan#1

Jo det är på detta viset att jag har gjort en liten sökmotor för att söka i medlemsdatabasen. jag har 5 fält o allt funkar fin fint förutom det femte.

När man ska söka på ålder och skriver in t.ex 17 så går det ju inte matcha med databasen där deras födelsedatum är lagrat istället för antal år.

men det borde ju på något vis gå att se till att den räknar ut mindatum och maxdatum för en viss ålder och sedan söker på det i databasen..

Min sql-sats för sökningen ser ut såhär

SQL = "SELECT * FROM members WHERE namn LIKE '%" & request.form("namn") & "%' AND nick LIKE '%" & request.form("nick") & "%' AND efternamn LIKE '%" & request.form("efternamn") & "%' AND alder LIKE '%" & request.form("alder") & "%'"

Jag kan ungefär NOLL om datum o sådant så om någon har en färdig kodsnutt som löser detta vore jag evigt tacksam :o)

------------------
*brölar ljudligt*

Medlem sedan feb. 20012 412 inlägg
#2

Hej, du kan använda en funktion som heter Datediff som räknar ut skillnaden mellan 2 datum.

DateDiff(interval, date1, date2)

I detta fallet blir intervallet yyyy för du har följande översättningar:

yyyy --> Year
q --> Quarter
m --> Month
y --> Day of year
d --> Day
w --> Weekday
ww --> Week of year
h --> Hour
n --> Minute
s --> Second

Alltså:

DateDiff("yyyy", date1, date2)

ger dig antal år mellan de två datumen:

DateDiff("yyyy", det_aktuella_datumet, Now())

borde lösa problemet med att räkna ut åldern.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan aug. 20011 087 inlägg
#3

Ok.. men fattar inte hur jag ska använda det till mitt problem bara ;)

------------------
*brölar ljudligt*

Medlem sedan feb. 20012 412 inlägg
#4

Jag vet inte hur du har lagt upp det. Kan användaren själv välja vad denna kan skriva i åldersfältet?

Jag hade antingen haft färdiga selectfält där man kan kombinera ihop ett födelsedatum eller ett fält där man kan välja en ålder.

Annars får man göra en koll på vad han/hon skrivit och anpassa sökningen därefter.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan aug. 20011 087 inlägg
#5

Mjo men om jag har 3 select fält måste man ju matcha in precis på dagen. man kanske vill söka fram alla som är 17 år ;) Som det är nu har jag ett vanligt input fält där man kan skriva vad man vill, inte så smart kanske men hur ska jag annars göra?

i databasen är deras födelsedatum lagrade!

------------------
*brölar ljudligt*

Medlem sedan feb. 20012 412 inlägg
#6

Hej, du kan ju bygga upp att du söker på personnummret istället. Gör en dropdown som anger en massa födelseår. Sedan får man välja ett födelseår istället, så kan du bygga upp hämtningen likt denna som får anpassas efter fälttyp och databastyp:

sql = "select * from tabellen where year(date_field) = " & request.form("year")

RED: glömde att tanken var att formatet på födelse-fältet var: 2002-01-02

Finns kanske smidigare lösningar :)

mvh Jörgen

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 02 jan 2002]

Medlem sedan aug. 20011 087 inlägg
#7

Mjo det där lär nog inta funka värstans bra för mig ;)

------------------
*brölar ljudligt*

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)