Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Filtern nach Kriterium funktioniert nicht !

Empfohlene Antworten

Veröffentlicht

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>

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>

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.