Avatar billede iggipop Nybegynder
19. april 2004 - 10:55 Der er 1 kommentar og
1 løsning

Problemer med at overføre string

Hej !

Niveau=begynder
Så er det på plads :D

Jeg har 2 filer. Search.htm

<body>

<form method="POST" action="search.asp">
  <p><input type="text" name="Keyword" size="20"><br>
  <select name="kat" size="1">
  <option>windows</option>
  <option>outlook</option>
  </select>
  <input type="submit" value="Søg" name="Action"></p>
</form>
</body>


Den anden fil er den der søger. Men det virker ikke med kategori. Den henter fra alle kategorier alligevel. Så har jeg prøver at skrive ud hvad den henter fra formen. Det skulle være
fx:

windows

men er blevet til

windows
windows

lidt underligt. Her er search.asp

<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
</head><body>

<%
' Henter værdien fra soeg.htm
strKeyword = Trim(Request.Form("Keyword"))
strKat = Trim(Request.Form("Kat"))

If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("search.htm")
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
    'strKat = Replace(strKat,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID_no, Navn, overskrift, tips, kategori FROM tipstabel WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (overskrift LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (tips LIKE '%" & strKeyword & "%')"
'strSQL = strSQL & " and (kategori = '%" & strKat & "%')"

' man kunne lave en string der hed filter og så kunne vælge søg efter : titel, overskrift eller forfatter

' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("tips.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    ' Hvis der er fundet poster på søgningen
    Response.Write "<p>Søgeresultat</p>"
    Response.Write "<table border=0>"
    Response.Write "<tr><th>Navn</th><th>Adresse</th><th>By</th><th>Beskrivelse</th></tr>"
    Do While Not rs.EOF
Response.Write strkat   
    Response.Write ("<tr><td><a href=""delete_entry.asp?ID=" & rs("ID_no") & """>")
    Response.Write (rs("ID_no"))
    Response.Write ("</a>")
    Response.Write "<td>" & rs("Navn") & "</td>"
    Response.Write "<td>" & rs("overskrift") & "</td>"
    Response.Write "<td>" & rs("tips") & "</td>"
    Response.Write "<td>" & rs("kategori") & "</td></tr>"
        rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede iggipop Nybegynder
19. april 2004 - 11:35 #1
Det må være i den her det er galt ik ? Der skal jeg have indføjet at kategori skal være = strkat

Hvordan skriver jeg det ind ?

strSQL = "SELECT ID_no, Navn, overskrift, tips, kategori FROM tipstabel WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (overskrift LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (tips LIKE '%" & strKeyword & "%')"


Dog kan jeg stadig ikke forstå at response.write strkat giver
windows
windows

istedet for

windows
Avatar billede iggipop Nybegynder
19. april 2004 - 11:56 #2
glem det! Der skulle bare et par ekstra parenteser
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester