![]() |
ASP Hilfe wird gebraucht
Hi an Alle
hab mich wieder mal entschlossen meine page zu erweitern und hab gestern angefangen ein profil menü zu erstellen für meine User nun schreibe ich grad den Counterbereich wo sich die user Counterlog ansehen können über ihren counter. so da man meist ned nur 1-30 countereinträge hat sondern 100-1000 undmehr ist alles auf einer seite zu unübersichtlich bzw braucht dann lang zum laden und deswegen würde ich gerne immer nur 30 counterlogs anzeigen lassen hab aber noch keinen schimmer wie das funzt da mal ein kleiner auszug des scriptes Script Auszug Hoffe das ihr meint was ich möchte THX |
Hallo kann mir keiner helfen?
|
Hi!
Willst du überhaut nur 30 Einträge anzeigen, oder nach je 30 Einträgen eine neue Seite beginnen? mfg WB |
je 30 eine neue seite
|
Hi!
Also nur aus dem Kopf, ohne es probiert zu haben: Eine Variable für die Startposition einführen. Beim ersten Aufruf der Seite ist die Startposition 1. Mit der AbsolutePosition-Eigenschaft den Cursor im Recordset auf die Startposition stellen. Du baust in deinen Code eine Schleife ein, die bis 30 zählt. Damit wird das Recordset nicht bis EOF durchlaufen, sondern für 30 Datensätze. Mit RecordCount zählst du die Datensätze und berechnest die Zahl der notwendigen Seiten. Links zu diesen Seiten nach den 30 Datensätzen einfügen. Wenn der User auf den Link zu einer Seite klickt, die passende Startposition einstellen. Die Seite mit der neuen Startposition aufrufen. Da fällt mir ein: Das Recordset darf nur beim 1. Seitenaufruf erstellt werden (am Besten als Snapshot), weil ja inzwischen neue Einträge dazugekommen sein könnten. Noch etwas: Ich glaube AbsolutePosition funktioniert nicht mit jedem Provider. Mit Recordset.CursorLocation = adUseClient sollte es klappen. Gib mir Bescheid, ob du mit diese Idee etwas anfangen kannst. mfg WB |
sorry aber mit dem fachchinesisch kann ich nix anfangen lol
hab asp einfach nur so gelernt ohne irgentetwas also die fachbegriffe sagen mir überhaupt nix sorry :( hast vielleicht irgentwo ein beispiel? PS: versuch mom verzweifelt ein paar guestbooks herunterzuladen und herauszufinden wie die das immer machen mit den seiten |
Hi!
Ich hab mich inzwischen schlau gemacht. Leider unterstützt Jet 4.0 die Eigenschaften AbsolutePosition, AbsolutePage, PageCount und PageSize nicht. Als Workaround könnte man das Recordset in ein Array einlesen (Das geht ziemlich schnell). Damit ist der Zugriff auf eine bestimmten Datensatz wieder möglich. Um eine Beispiel-Anwendung zu programmieren fehlt mir leider die Zeit. Wenn du konkrete Fragen zum Abrufen und Manipulieren der Daten hast, kann ich dir sicher helfen. Für HTML gibt es sicher andere Leute im Forum, die dir weiter helfen können. Noch eine Frage zum Schluß: Womit programmierst du die ASP-Seiten? mfg WB |
ich kann leider mit dem was du sagst ned wirklich was anfangen so gern ich das auch möchte
mit dreamweaver oder wordpad Jet 4 ist ein webspace provider? |
Hi!
Auszug aus deinem Code: "Provider=Microsoft.Jet.OLEDB.4.0;" Als Datenbank wird die Microsoft Jet-Engine verwendet. (Wird auch von Access verwendet) Könnte es sein, daß du den Code nur kopiert hast, und eigentlich nicht verstehst? (Das ist nicht böse gemeint) Du erstellst ein Recordset. Anschließend durchläufst du dieses, und erzeugst für jeden Datensatz eine Zeile in einer HTML-Tabelle. Mein Vorschlag: Du durchläufst das Recordset und schreibst alle Datensätze in ein Array. Das Array ist im Arbeitsspeicher, das Recordset kann wieder geschlossen werden. Über den Index kannst du auf jeden Datensatz in diesem Array zugreifen. Für die 1. Seite verwendest du die Datensätze 0 bis 29. Die werden in die HTML-Tabelle eingelesen, und dem User angezeigt. Wenn der User eine weitere Seite sehen will, holst du die entsprechenden Datensätze. (z. B. Seite 3 ist 60 bis 89) Weiter gehts morgen mfg WB |
Zitat:
und der ausdruck vom script ist schon eine lauffähige version nur zeigt es mir alle datensätze der datenbank und und ich würde das nur gern so umschreiben das immer nur 30 datensätze pro seite angezeit werden |
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag