Alphabetische Sortierung

Hallo!

Ich habe eine Datenbank im Netz (über ASP) mit etwa 1000 Einträgen.
Derzeit habe ich, damit die Auflistung nicht zu lange dauert, es so gelöst, daß immer nur 20 Einträge auf einer Seite angezeigt werden. Daunter habe ich eine durchnummerierte dynamische Navigation, um zwischen den einzelnen Seiten zu springen.
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.
Leider habe ich noch nicht die erfahrung mit ASP und habe bisher nirgendwo Informationen oder Beispielcodes hierfür gefunden :frowning:

Falls mir einer von Euch helfen könnte,
währe ich ihm superdankbar!

Gruß, Mirco

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

xxx.asp&Letter=A

Will sagen xxx.asp?Letter=A

o)

Grüße, Robert