Avatar billede jnissen Nybegynder
08. januar 2004 - 10:40 Der er 4 kommentarer og
1 løsning

Søgning i søgning

Jeg har en side hvor man kan søge i en database. Når resultatet bliver vist, vil jeg gerne have at der er et nyt søgefelt, som skal søge i de poster der er fundet på første søgning.

Hvordan kan man gøre det?

Jeg bruger denne kode på første side:

<%
strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
    Response.Clear
    Response.Redirect("default.asp")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If
strSQL = "SELECT ID, handelse, HanDato, IDmoni FROM Handelsetekst WHERE"
strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (handelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " order by handato desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("_private/db.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
set rs = Server.CreateObject("ADODB.Recordset")
SQLstr = strSQL
rs.Open strSQL, myconn, 3
allrecords = rs.RecordCount

Hep = request("keyword")
%>
Avatar billede cesil Nybegynder
08. januar 2004 - 12:43 #1
måske noget ala det her vil virke

<%
strKeyword = Trim(Request.Form("Keyword"))
strKeyword2 = Trim(Request.Form("Keyword2"))
strKeyword2 = Replace(strKeyword2,"'","''")
If Len(strKeyword) = 0 Then
    Response.Clear
    Response.Redirect("default.asp")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If
strSQL = "SELECT ID, handelse, HanDato, IDmoni FROM Handelsetekst WHERE"
strSQL = strSQL & " ((id LIKE '%" & strKeyword & "%')"

if strKeyword2<>"" then
    strSQL = strSQL & " and (id LIKE '%" & strKeyword2 & "%')"
end if

strSQL = strSQL & ") OR ((handelse LIKE '%" & strKeyword & "%')"

if strKeyword2<>"" then
    strSQL = strSQL & " and (handelse LIKE '%" & strKeyword2 & "%')"
end if

strSQL = strSQL & ") order by handato desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("_private/db.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
set rs = Server.CreateObject("ADODB.Recordset")
SQLstr = strSQL
rs.Open strSQL, myconn, 3
allrecords = rs.RecordCount

Hep = request("keyword")
%>
Avatar billede jnissen Nybegynder
08. januar 2004 - 14:07 #2
Hmm...jeg kan ikke helt få det til at virke. Den søger stadig i det hele og ikke kun i de poster fra den første søgning.
Mit felt hedder Keyword2, det skal det vel?
Avatar billede cesil Nybegynder
09. januar 2004 - 08:12 #3
du skal sørge for at der er data i både strKeyword og strKeyword2 , når du søger anden gang (altså når du søger i resultatet).
Det der sker er at den løber samme søgning igennem to gange, anden gang tar den bare strKeyword2 med.

Jo feltet skal heddde Keyword2
Avatar billede cesil Nybegynder
13. januar 2004 - 10:28 #4
er du kommet videre med den her?
Avatar billede jnissen Nybegynder
13. januar 2004 - 10:58 #5
Jeg beklager meget, at der er gået så lang tid.
Jeg har desværre fået noget eksta arbejde som jeg ikke havde regnet med.
Men jeg acceptere dit svar nu, og får spørgsmålet lukket. Så regner jeg med at få det til at virke.
Tak for hjælpen.
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