AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Suche erweiterten DBNavigator!!!
Thema durchsuchen
Ansicht
Themen-Optionen

Suche erweiterten DBNavigator!!!

Ein Thema von romber · begonnen am 7. Mär 2009 · letzter Beitrag vom 9. Mär 2009
 
Joe_the_Junkie
(Gast)

n/a Beiträge
 
#2

Re: Suche erweiterten DBNavigator!!!

  Alt 8. Mär 2009, 08:44
Eine Möglichkeit wäre wenn du über SQL-Befehle gehst:

Als erstes erhälst du mit "SELECT COUNT(*) FROM [Tabelle]" Die Anzahl der Zeilen in deiner Tabelle.
Bzw. kannst Du auch schreiben "SELECT COUNT(*) FROM [Tabelle] WHERE {Bedingung}";

Damit erhälst du die Anzahl der Einträge, die deiner Bedingung entsprechen.
Jetzt nimmst du die Anzahl der Lösungen, die du pro Seite zeigen möchtest und erhälst damit die Anzahl der Seiten
die Du brauchst. => Erstes Problem gelöst.

Wenn du jetzt nur eine gewisse Menge anzeigen lassen möchtest kannst du das hiermit machen.

"SELECT * FROM [Tabelle] LIMIT a,b"

Dabei sagt dir "a" wo dein Select anfangen soll.

Wenn "a" z.B. 0 ist fängt er ganz am Anfang an.
Wenn es z. B. 5 ist, fängt er erst ab der 6 Zeile an die Zeilen aus der Datenbank zu holen.

Mit "b" gibst du dann an wieviele Einträge Du aus der Datenbank ziehen möchtest.

Kleines Beipsiel:

"SELECT * FROM [Tabelle] LIMIT 5,10" nimmt die Zeile ab dem 6. Eintrag und gibt von da an die nächsten 10 Einträhe aus.

Am besten ist, alle Einträge haben eine id (Was meistens einegntlich Standart ist).
Dann schreibst du in deine SELECT-Abfrage noch "ORDER BY id ASC, bzw DESC"

ASC bedeutet hier aufsteigend und DESC absteigend.

Wenn man jetzt auf eine Seitenzahl klickt, dann kann man ausrechnen ab welcher Zeile die Datenbank die Daten ausgeben soll.

Sagen wir du willst pro Seite 10 Zeilen Ausgeben:

Als erstes erhälst du als Ergebnis 40 Zeilen. D. h. du hast 4 Seiten.
Klickt man nun auf Seite 2 musst du ja die Einträge von 11 bis 20 ausgeben.

Also "SELECT * FROM [Tabelle] ORDER BY id ASC LIMIT (SEITE -1)*10,10" (SEITE stelle hier eine Variable dar, für die Seite, die angeklickt wurde)

Somit erhälst du die passenden Einträge für deine angeklcikte Seite.


Sry, war garde im schriebrausch, hoffe, hab das nicht zu kompliziert erklärt.

Mfg Joe the Junkie
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz