nächsten Datensatz anzeigen
Gerold Kumpfhuber
- datenbank
Hallo!
Ich möchte in einer bestimmten Sortierreihenfolge den nächsten Datensatz anzeigen. Dieser stimmt i.A. nicht mit der nächsten id überein. Gibt es einen Funktion wie next_row? Ich arbeite mit MSSQL?
Ein Hinweis wie es mit Oracle oder MySQL funktioniert würde mir auch schon helfen.
Vielen Dank
Gerold
Hi,
Ich möchte in einer bestimmten Sortierreihenfolge den nächsten Datensatz anzeigen. Dieser stimmt i.A. nicht mit der nächsten id überein. Gibt es einen Funktion wie next_row? Ich arbeite mit MSSQL?
Ein Hinweis wie es mit Oracle oder MySQL funktioniert würde mir auch schon helfen.
zunächst musst Du wissen, wie viele Datensätze insgesamt die Abfrage enthält. Dann kannst Du einen Link zum weiterblättern anbringen, der die Nummer des nächsten Datensatzes in einer Variable übergibt. Mit LIMIT kannst Du dann genau diesen Datensatz anzeigen. Wenn die übergebene Nummer die maximale Anzahl der Datensätze übersteigt, dann geht es nicht mehr weiter und es muss auch kein Link ausgegeben werden. Gehen wir mal von einem PHP-Skript aus (das Beispiel soll nur die Systematik zeigen und beschränkt sich auf die wesentlichen Code-Teile):
$nr = $_GET['nr'];
if ($nr) {
$SQL = "SELECT * FROM tabelle LIMIT $nr, 1";
} else {
$SQL = "SELECT * FROM tabelle LIMIT 1";
}
$linknum = $nr + 1;
if ($nr < $anzahl_datensätze) {
echo '<a href="script.php?nr='.$linknum.'">weiter</a>';
}
Das ist nur mal so ein Grobgerüst, das noch sehr verfeinert werden kann. Zum Beispiel musst Du sicherstellen, dass nur Werte in sinnvollen Bereichen (0 >= $nr <= letzter Datensatz) verarbeitet werden. Dann könnte man noch "zurück"-Links einbauen etc. etc.
viele Grüße
Achim Schrepfer
Hi, hallo
was heißt bei dir "den nächsten Datensatz anzeigen" ?
Wo möchtest du ihn anzeigen, ausgeben oder aktiv mit ihm arbeiten? Zeigst du die vorigen an? Hat dein Result-Object (Recordset) mehr als einen Datensatz? Auf welcher Plattform arbeitest du überhaupt?
Dein Problem liegt nicht an der DB, da SQL als Abfragesprache eine Menge aus 0,1 oder >1 Datensätzen !_zurückgibt_!, dass gemäß deiner SQL Anweisung sortiert ist.
Bitte denke nochmal über dein Problem nach und beschreibe dein Vorhaben konkreter.
Ciao, Frank
Hi Gerold,
Ich möchte in einer bestimmten Sortierreihenfolge den nächsten Datensatz anzeigen.
ist dieser Begriff wohldefiniert? Was bedeutet er, wenn gleichzeitig andere Programme schreibende Zugriffe auf dieselbe Tabelle vorgenommen haben? Wie repräsentierst Du überhaupt eine 'Position' innerhalb einer sich ggf. dynamisch ändernden Menge?
Viele Grüße
Michael