stud3 Geschrieben 11. Februar 2005 Teilen Geschrieben 11. Februar 2005 hallo, bei dem folgenden Code versuche ich ein Filtern von Datensätzen nach einem Kriterium zu erzeugen (Kriterium:Produkt), ohne Erfolg. Nachdem der User ein bestimmtes Produkt auf dem Textfeld geschrieben hat und er auf den Button "Produkt suchen/anzeigen" klickt, gibt es 2 Fälle: - Falls sich der eingegebene Eintrag in der Tabelle Produkt befindet, werden alle dazugehörigen Datensätzen angezeigt in Form von einem SelectBox. - Falls sich der eingegebene Eintrag nicht in der Tabelle befindet, bekommt der User die Meldung, dass keine Datensätze für das eingegebene Produkt gefunden wurden. Das input "button" hat noch nicht eine Funktion, so dass beim Klicken ein Ereignis kommt, ich arbeite daran weiter, aber vielleicht hätte jemand eine bessere Idee, wie ich es besser machen kann, damit das Filtern ausgeführt werden kann, oder wo würden meine Fehler liegen, bisher kriege ich nichts angezeigt auf dem Browser und ich bekomme die Fehlermeldung: "HTTP: Interner Serverfehler...". <!-- #Include file = "../DATA/ADOVBS.INC" --> <% Dim objConn, strConn, objRS, SQLquery Set objConn = Server.CreateObject("ADODB.Connection") strConn = "Provider..." 'Aus Sicherheitsgründen nicht weiter geschrieben objConn.connectionstring = strConn objConn.Open Set objRS = Server.CreateObject("ADODB.Recordset") ON ERROR RESUME NEXT %> <html><head><title>test</title> <SCRIPT language="JavaScript"> <!-- function setfocus() { document.forms["GefundeneProdukte"].elements["Produkt"].focus(); } --> </SCRIPT> </head> <% Dim Produkt Produkt = Request.QueryString("Produkt") 'Was tun? Suchfeld oder Selectbox? if len(Produkt) > 0 then 'Es wurde ein Produkt eingegeben, in DB suchen call filtern() else 'Kein Produkt, Eingabefenster call NewForm() end if %> <body> <% private function NewForm() %> <form name="GefundeneProdukte" action="filter.asp" method="get"> <input name="Produkt" type="hidden" value="Produkt"> <p>Produkt:<input type="text" id="Produkt" name="Produkt" size="40" maxlength="50"></p> <p><input type="submit" value="Produkt suchen/anzeigen"></p> </form> <% end function private function filtern() If Request.QueryString("Produkt") = "" Then Response.Write("Bitte geben Sie das Produkt ein, nach dem Sie suchen") Else Set objRS = SERVER.CreateObject("ADODB.Recordset") SQLquery = "SELECT Dienstleistungs_ID, Produkt, Report FROM LU_Produkt WHERE Produkt = '" & Request.QueryString("Produkt") & "'" objRS.Open SQLquery,strConn,adOpenStatic If objRS.RecordCount = 0 Then Response.Write("Keine Datensätze für Produkt" & Request.QueryString("Produkt") & "gefunden") Else Response.Write("<H3>Datensätze gefunden für das Produkt: " & Request.QueryString("Produkt") & "</H3>") %> <table style="width:720px" border=0 cellspacing=0 cellpadding=3> <tr bgcolor="silver"> <td align=center width=20%><b>Dienstleistungs_ID</b></td> <td align=center width=30%><b>Produkt</b></td> <td align=center width=10%><b>Report</b></td></tr> </tr> </table> <div style="height:300px;width:740px;overflow:auto;"> <select size="10" name="Produkt" style="width:720px"> <% SQLquery = "SELECT * FROM LU_Produkt WHERE Produkt = '" & Request.QueryString("Produkt") & "'" Set objRS = objConn.Execute(SQLquery) Do While Not(objRS.EOF) Response.Write "<option value='" & objRS("Produkt_id") & "'>" Response.Write objRS("Dienstleistungs_ID") & " " Response.Write objRS("Produkt") & " " Response.Write objRS("Report") & " " Response.Write " " objRS.MoveNext Loop objRS.Close Set objRS=Nothing %> </select> </div> <% End If objConn.Close Set objConn=Nothing end function %> </body> </html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stud3 Geschrieben 11. Februar 2005 Autor Teilen Geschrieben 11. Februar 2005 Jetzt funktioniert es, ich habe es umgeformt und korrigiert, nur weiß ich noch nicht, an welcher Stelle des Codes man eine Bedingung schreiben sollte, falls der eingegebene Eintrag nicht in der Datenbank vorhanden ist, ic habe vieles probiert, auch mit einer UND Bedingung denke ich, es wäre nicht so optimal. Mein Problem ist auch, dass das Ergebnis wird nicht unten angezeigt (unter dem Eingabefeld), sondern separat angezeigt. Wer kann mir helfen? <!-- #Include file = "../DATA/ADOVBS.INC" --> <html><head><title>test</title> <SCRIPT language="JavaScript"> <!-- function setfocus() { document.forms["GefundeneProdukte"].elements["search_name"].focus(); } --> </SCRIPT> </head> <% Dim Produkt Produkt = Request("search_name") 'Was tun? Suchfeld oder Selectbox? if len(Produkt) > 0 then 'Es wurde ein Produkt eingegeben, in DB suchen call filtern() else 'Kein Produkt, Eingabefenster call NewForm() end if %> <body> <% private function NewForm() %> <form name="GefundeneProdukte" action="/DATA/filter.asp" method="post"> <input type="hidden" value=""> <p>Produkt:<input type="text" id="Produkt" name="search_name" size="40" maxlength="50"></p> <p><input type="submit" name="submit_button" value="Produkt suchen/anzeigen"></p> </form> <% end function private function filtern() If ( Request("submit_button") = "Produkt suchen/anzeigen" ) Then Produkt = Request("search_name") %> <% Dim objConn, strConn, objRS, SQLquery Set objConn = Server.CreateObject("ADODB.Connection") strConn = "Provider.." objConn.connectionstring = strConn objConn.Open Set objRS = SERVER.CreateObject("ADODB.Recordset") ON ERROR RESUME NEXT %> <table width=70% align=center> <tr> <td> <table style="width:600px" border=0 cellspacing=2 cellpadding=3> <tr bgcolor="silver"> <td width=5%></td> <td align="center" width=30%><b>Produkt</b></td> <td align="center" width=20%><b>Dienstleistungs_ID</b></td> <td align="center" width=10%><b>Report</b></td></tr> </table> <div style="height:100px;width:620px;overflow:auto;"> <table style="width:600px" cellpadding="3" cellspacing="2" border=0> <% SQLquery = "SELECT * FROM LU_Produkt WHERE Produkt = '" & Produkt & "'" objRS.Open SQLquery, objConn Dim intCurrent Dim strBgColor intCurrent = 0 While Not(objRS.EOF) strBgColor = "#ffffff" If intCurrent Mod 2 = 0 Then strBgColor = "#efefef" End If %> <tr bgColor="<%= strBgColor %>" > <td width=5% align=center ></td> <td align=center width=30% ><%= objRS("Produkt") %></td> <td align=center width=20% ><%= objRS("Dienstleistungs_ID") %></td> <td align=center width=10% ><%= objRS("Report") %></td> </tr> <% intCurrent = intCurrent + 1 objRS.MoveNext Wend objRS.Close Set objRS=Nothing objConn.Close Set objConn=Nothing %> </div> </table> </td> </tr> </table> <%end if%> <% End If end function %> </body> </html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.