18. juli 2003 - 21:41Der er
8 kommentarer og 2 løsninger
Søgefunktion til navn
Jeg har en database med en masse bruger-navne hvor de er indsat i felterne "fornavn" og "efternavn".
Da brugerne skal være lidt små-anonyme, kan man kun se deres fornavn og det første bogstav i efternavn - som f.eks. "Bjarne B" eller "Anne Marie K".
Mit problem går så ud på at jeg skal have lavet en søgefunktion hvor folk kan søge på bestemte personer, men hvordan kan man søge i to forskellige database-felter på samme tid og samtidigt kun søge på det første bogstav i efternavnet? Det skal også være sådan at hvis man ikke ved hvad efternavns-bogstavet er, så skal man selvfølgeligt kunne se alle der har det fornavn man har søgt på.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
18. juli 2003 - 21:50#1
Noget a la dette: sql = "Select fornavn, left(efternavn,1) as efternavn from tabel where fornavn like '%" & fornavnvariabel & "%' and efternavn like '" & efternavnsforbogstav & "%'"
sql = "select * from tabel where" sql = sql & "fornavn like '%" & tabel(0) & "'%" if tabel(1)<>"" then sql = sql & " and efternavn like '" & tabel(1) & "'%" end if
rettet fejl sql = "select * from tabel where" sql = sql & "fornavn like '%" & tabel(0) & "%'" if tabel(1)<>"" then sql = sql & " and efternavn like '" & tabel(1) & "%'" end if
Hvis jeg f.eks. søger på "Chris H", så får jeg resultater som f.eks. "Christian H", "Christine H" og "Chris H", så jeg skal nok også bruge en form for måde hvorpå man kan definere om man vil søge på dele af navnet eller præcist det navn man har indtastet
Synes godt om
Slettet bruger
18. juli 2003 - 22:38#8
Ok, så tager vi den "lange": (Frit fra hukommelsen)
str = Request.Form("sogefelt") if instr(str," ") then tabel = split(str," ") strFornavn = tabel(0) strEfternavn = Left(tabel(1),1) Else strFornavn = str strEfternavn = "" End If
sql = "Select fornavn, left(efternavn,1) as efternavn from tabel where fornavn like '%" & strFornavn & "%' and efternavn like '" & strEfternavn & "%'"
Synes godt om
Slettet bruger
18. juli 2003 - 22:41#9
Forklaring til LIKE, så kan du selv vælge hvordan du vil bygge det op: '%' tager alt 'ab%' tager alle der starter med ab '%ab' Tager alle der ender på ab '%ab%' tager alle der indeholder ab Du kan således også bruge mellemrum hvis fornavnet skal være jens: '%jens %' tager alle som hedder jens mellemrum og så noget, byg selv videre :-)
smart.. jeg ledte engang efter noget der lignede det her.. fandt det dog ikke..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.