Avatar billede ponyboye Nybegynder
16. februar 2004 - 01:00 Der er 3 kommentarer og
1 løsning

Angiv Søgeresultat fra database

Jeg har denne søge funktion som skal finde og kalde resulteter frem fra databasen. Problemet er at jeg skal have den til at søge fra et felt med html og så vise link til denne side ud fra der hvor den finde ord der passer med søgeordet. Der hvor der skal søge er i tabellen "contents" i feltet "c_text" og så udskrive et link.

Jeg har disse felter i databasen:

c_id = Som angiver sidens id
c_title = Som angiver kategorien
c_text = Som indeholder html tekst

Her er det jeg har lavet en til nu:

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

<%
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
    Response.Clear
    Response.Redirect("search.htm")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If

strSQL = "SELECT c_text FROM contents WHERE"
strSQL = strSQL & " (c_text LIKE '%" & strKeyword & "%')"

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Response.Write "<p>Søgeresultat</p>"
    Response.Write "<table border=1>"
    Response.Write "<tr><th>Link</th></tr>"
    Do While Not rs.EOF
        Response.Write "<td>" & rs("<a title='"& m_name &"' href='?action="&saction&"&what="&m_id&"'>" & m_name & "</a>") & "</td>"
        rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

myConn.Close
Set myConn = Nothing
%>

</body></html>

Håber der er en der hjælpe.
Avatar billede fennec Nybegynder
16. februar 2004 - 10:39 #1
hvordan linker du normalt til sidderne, som hentes fra databasen????
Avatar billede fennec Nybegynder
16. februar 2004 - 13:02 #2
er det noget i denne retning????

strSQL = "SELECT * FROM contents WHERE"
strSQL = strSQL & " (c_text LIKE '%" & strKeyword & "%')"
...
Do while not rs.eof
Response.Write "<tr><td><a href=""showPage.asp?PageID="& rs("c_id") & """>"& rs("c_title") &"</a></td></tr>"
...
Avatar billede ponyboye Nybegynder
16. februar 2004 - 21:40 #3
Hele siden ser sådanne ud og det er så den henter siderne, der er også en top menu:

<%
sqlstmt = "SELECT * from menus WHERE lng =" & lng
sqlstmt = sqlstmt & " AND m_id="&sAction
rs.open sqlstmt, conn,1 ,1
Do While Not rs.EOF
main_name=UCASE(rs("m_name"))
rs.MoveNext
loop
rs.Close
%>
<tr>
  &nbsp;&nbsp;&nbsp;<%="<b>"& main_name &"</b>"%><br><br></td>
  </tr>
  <%
if sType=0 Then
sqlstmt = "SELECT * from submenus WHERE lng =" & lng
sqlstmt = sqlstmt & " AND  m_related="&sAction
sqlstmt = sqlstmt & " ORDER by m_id"
rs.open sqlstmt, conn,1 ,1
If Not rs.EOF Then
Do While Not rs.EOF
m_id=rs("m_id")
m_name=UCASE(rs("m_name"))
m_action=rs("m_action")

Response.write "<a title='"& m_name &"' href='?action="&saction&"&what="&m_id&"'>" & m_name & "</a>"
if CDBL(m_id)=CDBL(sWhat) Then Response.write ""
rs.MoveNext
loop
rs.Close
Else
rs.close
sqlstmt = "SELECT * from contents WHERE lng =" & lng
sqlstmt = sqlstmt & " AND  c_type=1"
sqlstmt = sqlstmt & " ORDER by c_date desc"
rs.open sqlstmt, conn,1 ,1
Do While Not rs.EOF
c_id=rs("c_id")
c_type=rs("c_type")
c_title=UCASE(rs("c_title"))
c_date=rs("c_date")
Response.write "<tr><td align='right' width='100%'>&nbsp;"
Response.write "<a title='"& c_title &"' href='?action="&saction&"&what="&c_id&"&type="&c_type&"'>" & c_title & "</a>"
if CINT(c_id)=cINT(sWhat) Then Response.write " bgcolor='#FFffff' "
rs.MoveNext
loop
rs.Close

End If
'.......................................................................................
Else ' show news
sqlstmt = "SELECT * from contents WHERE lng =" & lng
sqlstmt = sqlstmt & " AND  c_type=1"
sqlstmt = sqlstmt & " ORDER by c_date desc"
rs.open sqlstmt, conn,1 ,1
Do While Not rs.EOF
c_id=rs("c_id")
c_type=rs("c_type")
c_title=UCASE(rs("c_title"))
c_date=rs("c_date")
Response.write "<tr><td align='right' width='100%'>&nbsp;"
Response.write "<a title='"& c_title &"' href='?action="&saction&"&what="&c_id&"&type="&c_type&"'>" & c_title & "</a>"
if CDBL(c_id)=CDBL(sWhat) Then Response.write ""
rs.MoveNext
loop
rs.Close
End If

%>
<%if Isempty(request.querystring("login"))=False Then%>

    <td width="100%"><!--#INCLUDE FILE="login.asp"-->
   
<%End If%>

<%intImageNumber = Int((5 * Rnd) + 1)
RandomImg="gfx/p"&intImageNumber&".gif"
%>
Avatar billede ponyboye Nybegynder
16. juli 2004 - 06:05 #4
lukker
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