23. september 2002 - 15:24Der er
4 kommentarer og 1 løsning
Finde post i database med flest match
Jeg har en streng
MyString="hans,viggo,niels,lars,knud,erik"
Så har jeg en tabel:
MyTable ID TEKST
Nu vil jeg så søge i tabellen efter poster hvor feltet TEKST indeholder et eller flere af mine navne i "MyString" - det skal listes således at jeg få vist poster med flest matchende navne først.
Bryd din streng op i navnene og smid dem ind i et array.
For hvert element i dit array søger laver du et slqstatement, der henter id, hvis navnet er i strengen: SELECT id FROM MyTable WHERE TEKST LIKE '%NAVN%'.
Ids gemmer du så i et array.
Herefter tæller du, hvor mange gange et id forekommer i dit array. Og kan finde den højeste forekomst.
strSQL = "SELECT Klub FROM Kampe ORDER BY Klub desc "
Rs.Open strSQL, DSN, 1
Do While Not Rs.EOF Klub = rs("Klub") If rs("Klub") = Klub or Not Rs.EOF Then Do Antal = Antal + +1 Rs.MoveNext Loop While rs("Klub") = Klub Or Rs.EOF Else End If Loop --
prøv at se om denne kan hjælpe mig.. men jeg er ikke sikker den kan søge hvis posten i strengen indeholder flere navne
Nej desværre... Eller jeg koder ikke asp, men kan nok godt få det bikset sammen. Det vil sikkert bare tage mig ligeså længe at finde ud af, som dig selv.
Så, hvis du ikke kan finde en løsning, så sig til. Så kan jeg nok godt bruge en time eller 2.
Men natos kode ligner noget der kan anvendes. Eller ihvert fald connectiondelen af det.
Hvis du kan lave det i php, kan jeg hurtigt smække noget sammen, så skal jeg bare lige vide hvilken database, du anvender til det.
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.