webForumDet fria alternativet

Felstavning

ASP

14 svar · 247 visningar · startad av Jacob

Medlem sedan dec. 2000503 inlägg
Frågan#1

Jag håller på att göra en flmdatabas.
Alla sådespelare ligger i en tabell som sedan är kopplat med en många till många relation till filmen.

Det som är problemet är att när någon skriver in en skådespelare så är det ju lätt hänt att man stavar fel, då läggs en ny skådespelare till och relationen blir fel.

min fråga är om man kan göra en check på liknande sådespelare, jag har försökt men inte kommit någonstans.

------------------
ja©ob

Medlem sedan aug. 20011 946 inlägg
#2

Kan du inte göra så att du hämtar in alla skådespelarna från databasen till en dropdown där man väljer om det är en gammal skådespelare. Om det är en ny så skriver man namnet i en textbox.

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 2000503 inlägg
#3

Jag tänkte det först mend et blir så många till slut.

------------------
ja©ob

Medlem sedan okt. 20005 273 inlägg
#4

kan du inte lägga skådesspelarna i olika kategorier da :) ....i dropdownen

------------------
Icaaq, mannen med korven. som hejar på Bajen(!)

Medlem sedan dec. 2000503 inlägg
#5

Grejen är att jag får alla skådespelare till en viss film i en lång lista där dom separeras med , så jag hade bara tänkt att splita och sedan läggatill som automatisk.
Tyvärr är det ju inte alltid så, Annars hade jag ju inte haft problemet eftersom att då är de redan rättstavade.

------------------
ja©ob

Medlem sedan dec. 2000503 inlägg
#6

Jag har gjort lite sökningar:
objRegExp.Pattern
är detta något man kan använda sig av?

------------------
ja©ob

Medlem sedan juli 200012 978 inlägg
#7

lÅTER SOM DU BEHÖVER EN DB MED hOMONYM SÖKNING
dET SKULLE LÖSA MÅNGA PROBLEM MED "SÅDESPELARE"

------------------
GvdsSfdtTddv.

Medlem sedan dec. 2000503 inlägg
#8

Hur gör man en sådan?

------------------
ja©ob

Medlem sedan dec. 19996 721 inlägg
#9

Kör du SQL Server så kan du använda funktionen SOUNDEX

Medlem sedan feb. 20012 412 inlägg
#10

Hej!

Det kan bli svårt, eftersom du inte vet i förväg vilka namn som kommer att vara med. Jag hade löst det på följande sätt:

Jag hade gjort ett extra fält i tabellen av typen boolean (true/false).
Sedan hade jag bara presenterat den informationen som har true (false default). Hade sedan gjort en adminsida där admin kan gå in och godkänna med checkboxar om uppgifterna är ok annars rättas felet innan den godkänns.

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan dec. 2000503 inlägg
#11

Jag ska faktiskt börja köra på SQL server. Hur gör man för att använda SOUNDEX?

------------------
ja©ob

Medlem sedan dec. 200012 464 inlägg
#12

Soundex är bara en vanlig funktion som jämför strängar fonetiskt.

select * from ogrish
where soundex(efternamn) = soundex('JONSON')

skulle hitta personer med namnet JONSSON (och förmodligen JÖNSON och JANSON också, då de flesta implementationer inte bryr sig om vokaler).

Däremot om du skriver

select * from ogrish
where soundex(efternamn) = soundex('JONTON')

så hittar den förmodligen ingen jonson.
Jag tror inte att du har så stor nytta av den utan jag lutar mer åt jorgens förslag.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 2000503 inlägg
#13

Jag kan inte testa eftersom att jag itne har sql server, men är det så här man gör

sql = "select skadespelare from skadespelare"
Set rs= Connect.Execute(sql) 

Do Until rs.eof
sql2 = "SELECT DIFFERENCE('"&Request.Form("skadespelare")&"', '"&rs("skadespelare")&"')"
Set svar= Connect.Execute(sql2) 

If svar=4 then
Reponse.Write(rs("skadespelare"))
End If
rs.moveNext
Loop

------------------
ja©ob

Medlem sedan dec. 200012 464 inlägg
#14

Jo, du kan skriva så. Men som sagt tidigare så tror jag inte att är tillräckligt för dina behov.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 2000503 inlägg
#15

Så här blev det

sql = "select regissör from koad"
Set rs= Connect.Execute(sql) 
formu=split(Request.Form("skådespelare")," ")
Do Until rs.eof

regg=split(rs("regissör")," ")
sql2 = "SELECT DIFFERENCE('"&formu(0)&"', '"regg(0)&"')"
svar= Connect.Execute(sql2) 
If svar("")=4 then
sql3 = "SELECT DIFFERENCE('"&formu(1)&"', '"regg(1)&"')"
svar2= Connect.Execute(sql3) 
If svar2("")=4 then
Response.Write(rs("regissör")&"<br>")
End If
End If
rs.moveNext
Loop
%>

Det fungerar alldeles utmärkt faktist, tack för alla tips.

[Redigerat av Jacob den 05 nov 2001]

255 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)