Nun würde ich aber gerne die Sortierung
auf alphabetisch umstellen, so daß z.b.
alle Einträge, die mit dem Buchstaben „A“
beginnen, auf der Seite „A“ gelistet
werden.
Also, genau so habe ich es noch nicht gemacht, das erste was ich anbieten könnte wäre eine Funktion die aus einem Recordset so eine Liste mit allen vorhandenen Anfangsbuchstaben eines bestimmten Feldes aufbaut, ich hänge die mal hinten dran. Mußt natürlich modifizieren, am einfachsten indem du durch die Links das Skript wieder aufrufst, mit dem gewählten Buchstaben als Parameter (xxx.asp&Letter=A).
Du solltest die Daten einmal aus der Datenbank holen, die Leiste bilden, in eine Session-Variable schreiben und das Recordset auch.
Die Daten im Recordset kannst du schon mit dem SQL-Statement nach dem Alphabet ordnen (ORDER BY feldname).
Dann einfach am Anfang des Skriptes prüfen ob „Letter“ (oder wie du es auch nennst) gesetzt ist, wenn ja, dann Recordset und Leiste mit Buchstaben aus den Sessionvariablen holen und einfügen.
Die Schleife mit der du die Datensätze darstellst kannst du in etwa so machen:
Do While Not objRecordset.EOF
If Mid(objRecordset(„feldname“), 1, 1) = Request.QueryString(„Letter“) Then
%>
Datensatz anzeigen
str_ActChar Then ’ Wenn der jetzige Anfangsbuchstabe anders ist als der momentan aktive
If NOT str_ActChar = „“ Then ’ | wird nur hinzugefügt wenn es nicht der erste Buchstabe ist (str_ActChar vorher leer war)
JumpTo = JumpTo & " |"
End If
str_ActChar = UCase(Left(obj_RecordsetUser(„PS_NACHNAME“), 1)) ’ Neuer aktiver Buchstabe wird gesetzt
JumpTo = JumpTo & " " & str_ActChar & "" ’ Link auf den neuen Buchstaben wird hinzugefügt
End If
obj_RecordsetUser.MoveNext
Loop
If NOT obj_RecordsetUser.BOF Then obj_RecordsetUser.MoveFirst
JumpTo = JumpTo & " ]
[ " & str_FilterText & " ]" ’ Link auf Filter wird angefügt
End Function