Avatar billede kcc Nybegynder
22. august 2003 - 13:39 Der er 3 kommentarer

Søgning af data fra to tabeller

Jeg er igang med at lave en søgefunktion til min hjemmeside, og i den forbindelse skal man kunne finde de oplysninger, som jeg har i min database. Jeg har dog flere tabeller for flere forskellige slags informationer, men brugeren skal gerne kunne finde informationer fra alle tabellerne på sin søgning. Derfor vil jeg gerne spørge dig, om hjælp. Jeg har foreløbig de nedenstående kode, hvor man kan finde informationer fra en enkelt tabel.

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

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

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,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT indhold, forfatter, id FROM tabel WHERE"
strSQL = strSQL & " (indhold LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (forfatter LIKE '%" & strKeyword & "%')"

'Opretter forbindelse til databasen!



' 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

    Do While Not rs.EOF
forfatter = rs("forfatter")
id = rs("id")
Response.Write(forfatter)
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 bongo20 Nybegynder
22. august 2003 - 14:46 #1
Du skal joine de tabeller du vil udtrække data fra.

F.eks. Select main.indhold, forfatter.Name From main INNER JOIN forfatter ON main.forfatterID = forfatter.Id Where ..........

Her får du indhold fra main tabellen og Name fra forfatter tabellen hvor de 2 id´er er ens.
Avatar billede kcc Nybegynder
22. august 2003 - 14:50 #2
Hej Bongo20

Tak for svaret.

Det er dog ikke det, som jeg skal bruge.

De to tabeller jeg har, har sådan set ikke noget med hinanden at gøre. De har derfor ikke nogen kolonner, der har fælles værdi. Det jeg skal bruge, er hvordan man kan søge på begge tabeller, og derved udtrække data fra begge tabeller.
Avatar billede netro Nybegynder
22. august 2003 - 15:11 #3
Select t1.Felt1, t1.Felt2, t1.Felt1, t2.Felt2 From Tabel1 t1, Tabel2 t2 Where t1.Felt3 Like '%" & Soegeord & "%' Or t2.Felt4 Like '%" & Soegeord & "%'
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