Zum Inhalt springen
Der Guide für ein smartes Leben.
Wer suchet, der findet

Teil 3: Webseiten mit ASP

Autor: Redaktion pcmagazin • 28.12.2007 • ca. 3:05 Min

Inhalt
  1. Webseiten mit ASP
  2. Teil 2: Webseiten mit ASP
  3. Teil 3: Webseiten mit ASP

Bei den in diesem Beispiel verwendeten Suchfunktionen wird nach den eingegebenen Suchbegriffen im Text gefahndet, egal, ob die Begriffe separat in den Datenfeldern stehen oder ob sie Teile eines anderen Wortes sind. Eine Unterscheidung zu programmieren, ist nicht ganz trivial. Separat vorkommende WÃ...

Bei den in diesem Beispiel verwendeten Suchfunktionen wird nach den eingegebenen Suchbegriffen im Text gefahndet, egal, ob die Begriffe separat in den Datenfeldern stehen oder ob sie Teile eines anderen Wortes sind. Eine Unterscheidung zu programmieren, ist nicht ganz trivial. Separat vorkommende Wörter haben zumindest eines gemeinsam: Vor dem Wort ist immer ein Leerzeichen zu finden, es sei denn ein Anführungszeichen wurde gesetzt. Das könnten Sie leicht im Skript generieren. Nach dem Splitten der übergebenen Suchwörter notieren Sie dann:

Webseiten mit ASP
Das Nonplusultra Volltextsuche
© Archiv
for each element in sucheundwoerter
element = " " & element
next

Damit sind Sie sicher, dass der übergebene Suchbegriff nicht irgendwo im Inneren eines Wortes gefunden wird, da ja jetzt nach Leerzeichen und Suchbegriff ermittelt wird. Zusammengesetzte Wörter werden aber nicht separat behandelt, wer nach Abend sucht, würde auch bei Abendessen eine Fundstelle erhalten. Das Problem ist das Ende des Wortes.

In der Regel werden Sie auch hier ein Leerzeichen vorfinden, aber das ist nicht zwingend der Fall, denn es können auch Satzzeichen, wie Punkt, Komma, Semikolon oder Doppelpunkt folgen und genau dann rutscht Ihnen die Fundstelle durch den Filter. Um ganz genau vorzugehen, müssten all diese Fälle einzeln in die Stringüberprüfung mit einbezogen werden.

Die Frage stellt sich, ob das nötig ist. Wenn Sie Produkte anbieten wollen, ist es meist besser, der Kunde bekommt ein paar mehr Alternativen angezeigt, als dass wichtige Fundstellen nicht angezeigt werden. Ein Verzicht auf den genauen Wortlaut ist damit die bessere Variante.

Weitere Suchen definieren

Wollen Sie weitere Suchen in den Shop einbauen, können Sie das auf relativ einfache Art tun. In der Variablendeklaration dimensionieren Sie ein weiteres fundstellen-Array. Beim Auslesen der Daten aus der Datenbank setzen Sie den Wert des jeweiligen Elementes des Arrays wie die anderen fundstellen-Variablen auch auf 1. Programmieren Sie dann, wie in der Datei vorgegeben, eine weitere Textsuche oder auch eine weitere Kategoriensuche. Sie können dazu den vorhandenen Quellcode einfach duplizieren und den neuen Begebenheiten anpassen.

Webseiten mit ASP - Teil 3
Der gängige Weg der Recherche: Suchkriterien bestimmen, Auswahl aus der Liste der Fundstellen, Anzeige der Produktdetails.
© Archiv

In der Laufanweisung, die die Liste schließlich ausgibt, setzen Sie mit einem weiteren AND in der If-Anweisung die zusätzliche Bedingung der neuen fundstellen-Variablen.

Sollten Sie weitere Produktkategorienlisten anbieten wollen, etwa auf den Verlag bezogen, benötigen Sie wie bei den Genres ein weiteres Array. Die Elemente dieser neuen Produktliste ermitteln Sie wie bei den Genres aus den bereits in der Datenbank vorhandenen Inhalten. Auch hier können Sie die doppelten Einträge wie bei den Genres ausschließen. Wenn Sie bei den Kategorien Platz sparen wollen, können Sie Auswahl der Kategorie auch über ein Select-Feld erzeugen. Die Produktkategorien aus der Datenbank werden dann als Value der einzelnen Optionen gesetzt.

Achten Sie bei dieser Variante darauf, dass Sie die erste der Optionen mit einem leeren Value ausstatten und ihr eine allgemeine Beschriftung geben. Denn ein Wert des Select- Feldes wird durch das Formular immer an die Listendatei weitergegeben. Verzichten Sie auf das Leerfeld, dann kann der Besucher niemals kategorienübergreifend suchen, da seine Suche stets auf die aktuell angezeigte Kategorie bezogen wird.

<select name="kategorie2"><option value="" selected>Wählen Sie
?aus folgenden Kategorien aus</option><%for i=1 to y%><option value="<%=genreliste(i)%>"><
?<%=genreliste(i)%></option><%next%></select>

Suche auf eigener Seite

Sie können die Suchfunktionen natürlich auch auf einer separaten Seite anbieten. Dadurch eröffnen Sie dem Besucher die Chance, immer und zu jeder Zeit die Suche in den Produkten zu aktivieren. Wenn Sie es sich ganz einfach machen wollen, duplizieren Sie die Seite liste1.asp und benennen diese in suche.asp um und entfernen aus dem BODY-Bereich den ASP-Code, der mit dem Kommentar Listenanzeige übertitelt ist. Die so modifizierte Datei stellt dann alle Suchfunktionen zur Verfügung und leitet die Suchanfragen an liste1.asp weiter.

Andernfalls entfernen Sie aus der Suche-Datei alle ASP-Codefragmente, die für das Einladen der kompletten Datenbank, das Anzeigen der Fundstellen und das Filtern der Daten geschrieben wurden.

Lediglich das Laden der einzelnen Daten für die Kategorien muss bestehen bleiben, damit die Produktgruppen auch in den Radio-Button-Listen oder den Select-Feldern auftauchen.