Avatar billede starf Nybegynder
04. april 2006 - 10:43 Der er 11 kommentarer og
1 løsning

Søge funktion

Hej

Hvordan laver man en søge funktion? der skal søge en database og liste resultaterne?

har forsøgt at google efter nogle resultater men syntes ik rigtig man kan finde noget der er til at forstå...

det jeg gerne vil ha er en pulldown menu, der lister de felter man kan søge efter f.eks navn,id

og så et søge felt? hvordan skal sådan noget laves?
Avatar billede keysersoze Ekspert
04. april 2006 - 10:49 #1
Avatar billede starf Nybegynder
04. april 2006 - 15:36 #2
Tak men jeg får bare :

Response object error 'ASP 0104 : 80070057'

Operation not Allowed

/ordre_list.asp, line 0

når jeg forsøger at søge.. min kode ser således ud:

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

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

' Opbygger en dynamisk SQL streng
SQL = "SELECT ordre_nr, s_per, client, product, type, status, design_per, date_created, date_done FROM ind_ordre WHERE"
SQL = SQL & " (s_per LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (client LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (product LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (design_per LIKE '%" & strKeyword & "%')"

' Skaber DSNLess forbindelse til DBen
' strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search.mdb")
' Set myConn = Server.CreateObject("ADODB.Connection")
' Conn.Open
set rs = Conn.execute(SQL)
' Skaber et recordset udfra SQL strengen

Conn.Execute(SQL)
If Not (rs.BOF Or rs.EOF) Then
    ' Hvis der er fundet poster på søgningen
    Response.Write "<p>Search Results:</p>"%>
   
    <table border="1" cellspacing="2" cellpadding="2">
<tr>
                <td bgcolor="#999999"><strong>Ordre Nr:</strong></td>
                <td bgcolor="#999999"><strong>Client:</strong></td>
                <td bgcolor="#999999"><strong>Status:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Type:</strong></td>
                <td bgcolor="#999999"><strong>Product:</strong></td>
                <td bgcolor="#999999"><strong>Sales Person:</strong></td>
                <td bgcolor="#999999"><strong>Designer:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Date:</strong></td>
                <td bgcolor="#999999"><strong>Date Done:</strong></td>
</tr>
    <%
    Do While Not rs.EOF
%>
<tr>
<td valign="top" bgcolor="#cccccc"><a href="?mode=show&ordrenr=<%=rs("ordre_nr")%>"><%=rs("ordre_nr")%></a></td>
<td valign="top" bgcolor="#cccccc"><a href="?mode=client&client=<%=rs("client")%>"><%=rs("client")%></a></td>
<td valign="top" bgcolor="#cccccc"><a href="?mode=status&ordrenr=<%=rs("ordre_nr")%>"><%=rs("status")%></a></td>
<td valign="top" bgcolor="#cccccc"><%=rs("type")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("s_per")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("design_per")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("date_created")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("date_done")%></td>
</tr>
<%
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>The Search Results Was Empty</p>"
End If

' Rydder op efter os
Conn.Close
Set Conn = Nothing
%>
Avatar billede keysersoze Ekspert
04. april 2006 - 18:45 #3
er ovenstående AL din kode eller er der noget før denne linie;

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

fx bare en <% eller noget?
Avatar billede starf Nybegynder
05. april 2006 - 10:49 #4
her er det der er over:

<%
StartTime = Timer()
%>
<!--#include file="conn-inc.asp"-->
<% Response.Buffer = True %>
        <table border="0" cellspacing="2" cellpadding="2">
            <tr>
                <td>- <a href="ordre_list.asp?mode=viewall">[Show All Ordres]</a> </td>
                <td>- <a href="ordre_list.asp">[Show Open Ordres]</a></td>
                <td>- <a href="ordre_list.asp?mode=viewclosed">[Show closed Ordres]</a>-</td>
                <td width="5"></td>
                <td><form method="GET" action="">
    <input type="Hidden" name="mode" value="status">
    <input type="text" name="ordrenr"></td>
                <td>    <input type="submit" value="Go to Ordre">
</form></td>
            </tr>
            <tr>
                <td></td>
                <td></td>
                <td></td>
                <td width="5"></td>
                <td><form method="GET" action="">
    <input type="Hidden" name="mode" value="client">
    <input type="text" name="client"></td>
                <td>    <input type="submit" value="Go to Client">
</form></td>
            </tr>
</table>
<form method="POST" action="?mode=search">
  <p><input type="text" name="Keyword" size="20"><br>
  <input type="submit" value="Søg" name="Action">

<% mode = request("mode") %>
Avatar billede keysersoze Ekspert
05. april 2006 - 10:56 #5
hvis du fjerner selve asp-søgefunktionen og kun har html-delen virker det så? eller kommer fejlen først når du søger eller?
Avatar billede starf Nybegynder
05. april 2006 - 11:09 #6
Fejlen kommer først når jeg søger!
Avatar billede keysersoze Ekspert
05. april 2006 - 11:34 #7
et gæt er at det er noget af dit database-arbejde der gør det - prøv at fejlsøg det næsten linie for linie; udkommentér eller fjern al koden i søgedelen og indsæt derefter én linie af gangen for at se hvad det præcis for en linie der giver fejlen.
Avatar billede starf Nybegynder
05. april 2006 - 11:49 #8
Er bare underligt den ik skriver en linie fejl?
Avatar billede keysersoze Ekspert
05. april 2006 - 22:44 #9
korrekt - men det kan sagtens forekomme uden at jeg dog lige huske i hvilke tilfælde der ikke skrives et korrekt linienummer.
Avatar billede starf Nybegynder
07. april 2006 - 10:24 #10
jeg tror fejlen ligger her

SQL = "SELECT ordre_nr, s_per, client, product, type, status, design_per, date_created, FROM ind_ordre WHERE"
SQL = SQL & " (s_per LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (client LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (product LIKE '%" & strKeyword & "%')"
SQL = SQL & " OR (design_per LIKE '%" & strKeyword & "%')"

dog kan jeg ikke rigtig selv se nogen fejl?
Avatar billede starf Nybegynder
07. april 2006 - 11:40 #11
Smid et svar har fået det til at virke
Avatar billede keysersoze Ekspert
08. april 2006 - 22:36 #12
hvad var fejlen så?
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