Bestimmte Abschnitte von MySql Datenbank lesen

pchilfe

Erfahrenes Mitglied
Hallo,

In einer Datenbank werden ständig Produktdaten eingefügt entfernt und neu hinzugefügt. Ich möchte alle Produkte in der Datenbank per PHP und MySql in einer Produktansicht HTML-Tabelle darstellen.

Datenbank:
id
produktname
produktbeschreibung
pfoto
datum

Mein Problem ist es, dass ich in der HTML-Tabelle nur die letzten aktuellsten 20 Produkte und dann die nächsten aktuellsten 20 Produkte usw. Maximal gibt es für jeden Kunden 100 Produkte zu präsentieren.

Dafür habe ich in der HTML-Tabelle Seitenanzahl eingebaut:

Seiten: 1 2 3 4 5 6 .. ..

Wenn der Benutzer auf 1 klickt werden die letzten aktuellsten 20 Produkte angezeigt. Klickt man auf 2, so werden die nächsten aktuells 20 angezeigt usw.

Meine Frage ist:

Wie sieht die SQL Frage für diese Arbeit aus:

Meine SQL Frage funktioniert nicht so ganz wie ich es gern hätte:

"SELECT * FROM Produkte
WHERE `id` REGEXP "^[$offset1- $offset2]" ORDER BY datum DESC”;

$offset1 und $offset2 werden als Parameter vom Seitenanzal an PHP-Script übergeben.
in Offset-Variablen gebe ich die Bereiche ein, die selektiert werden müssen.

Beispiel:
klickt man auf Seitenummer 1 so wird offset1 = 80 offset2=100
klickt man auf Seitenummer 2 so wird offset1 = 60 offset2=80
...
usw ....

Vielen Dank für jeden Vorschlag.
 
Zuletzt bearbeitet:
Einfachste Lösung: LIMIT
SQL:
-- Seite 1:
SELECT * FROM `produkte` ORDER BY `datum` DESC LIMIT 0,20
-- Seite 2:
SELECT * FROM `produkte` ORDER BY `datum` DESC LIMIT 20,20
-- Seite 3:
SELECT * FROM `produkte` ORDER BY `datum` DESC LIMIT 40,20
-- u.s.w.
 
Zuletzt bearbeitet von einem Moderator:
Zurück