|
| Split ødelægger mit tomt søgnings script Fra : Mogens Dyhre Hansen |
Dato : 17-01-01 22:12 |
|
Hej.
Jeg har lavet det er i flere omgange så det kan godt se lidt rodet ud, men
mit problem er at hvis man bare klikker søg knappen uden at skrive noget i
feltet så skulle den bare Response.Redirect("robotsearch.asp") men efter jeg
har lavet noget split (efter inspiration her fra gruppen) som så gør at der
søges på flere ord indtastet i søgfeltet og det virker godt nok selv om det
nok skal arbejdes en del med resultatet endnu.
Her er min kode
rstemp = Request.QueryString("rstemp")
rstemp = LTrim(Request("rstemp"))
rstemp = Replace(rstemp,"'","''")
If Len(rstemp) < 0 Then
' Hvis der ikke er skrevet i feltet
Response.Clear
Response.Redirect("robotsearch.asp")
Else
'Hvis der er skrevet i feltet
Search = Split(rstemp," ")
' Opbygger en dynamisk SQL streng
sqltemp = "SELECT noget1, helt2, eller3, humle4, kukkasse5, duks6 FROM
tablen WHERE"
sqltemp = sqltemp & " (noget1 LIKE '" & Search(0) & "')"
For n = LBound(Search)+1 To UBound(Search)
sqltemp = sqltemp & " OR (helt2 LIKE '" & Search(n) & "')"
sqltemp = sqltemp & " OR (humle3 LIKE '" & Search(n) & "')"
sqltemp = sqltemp & " OR (kukkasse4 LIKE '" & Search(n) & "')"
Next
Jeg vil skræklig gerne have at vide hvad jeg gør forkert og om min kode kan
tunes.
| |
Mogens Dyhre Hansen (17-01-2001)
| Kommentar Fra : Mogens Dyhre Hansen |
Dato : 17-01-01 22:19 |
|
"Mogens Dyhre Hansen" <mogens@remove. www.svend-bent.dk> skrev i en
meddelelse news:9451t3$5nd$1@news.inet.tele.dk...
Jeg kan da lige tilføje at fejlen som kommer se sådan ud
Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 0]'
/robotsearch.asp, line 114
| |
Lauritz Jensen (17-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 17-01-01 22:37 |
|
Denne linie:
> For n = LBound(Search)+1 To UBound(Search)
Skal nok se sådan ud:
For n = 0 To UBound(Search)
--
Lauritz
| |
Kim Jensen (19-01-2001)
| Kommentar Fra : Kim Jensen |
Dato : 19-01-01 09:11 |
|
> If Len(rstemp) < 0 Then
> ' Hvis der ikke er skrevet i feltet
Prøv istedet med:
If Len(rstemp) =0 Then
....længden af en streng bliver aldrig mindre end nul, hvorfor dit kriterie
aldrig bliver opfyldt - og derfor sendes man ikke som ønsket til
"robotsearch.asp".
mvh
Kim Jensen
| |
|
|