Zum Inhalt springen

Filtern nach Kriterium funktioniert nicht !


Empfohlene Beiträge

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...