Lade mehr content nach der Größe abwärts

Th3RaZe

Aktiver Benutzer
Beiträge
37
Hallo, ich habe folgende Abfrage (vereinfacht dargestellt):

Code:
SELECT * FROM (SELECT * FROM content ORDER BY id DESC LIMIT 50) content WHERE city='sample_city'   ORDER BY points DESC LIMIT 5

Wenn diese ausgelesen wurden, habe ich einen Button ganz unten hinzugefügt, der mehr laden soll. Jetzt ist meine Frage wie muss die Abfrage aussehen wenn ich von groß nach klein mehr laden will? Von neu nach alt laden war es einfacher, weil der Timestamp sich nicht ändert. Aber bei den Punkten kann es vorkommen das viele Einträge die gleichen zahlen haben und deshalb es verschwirigt.

So sieht dort die Abfrage aus (vereinfacht):

Code:
SELECT * FROM content WHERE city='sample_city' AND create2 < ? ORDER BY create2 DESC

Kann mir einer einen Tipp geben bitte?
 
Werbung:
Ist id ein Timestamp oder create2?
Timestamp im Sinne von DatumZeit?
MySQL oder MariaDB?

Ein paar Beispiel Datensätze wären gut.
 
MySql

id = generierte zahlen id von der Datenbank
create2 = Timestamp wann dies erstellt wurde
lastvote= TImestamp wann zuletzt dort gevotet wurde

Timestamp im Sinne von DatumZeit

z.B.

ID=58 create2=2017-09-21 20:49:26 points=4 lastvote=2017-09-21 20:49:40
ID=62 create2= 2017-09-21 21:38:40 points=2 lastvote=2017-09-22 20:20:40
ID=40 create2=2017-09-19 21:20:40 points=2 lastvote=2017-09-22 20:15:24
 
Du wirst aber mit deinem Select immer maximal 5 Datensätze bekommen, auch wenn es mehrere Datensätze mit gleicher Punktzahl gibt. Dein Button wird den Select neu ausführen müssen mit einem höheren Wert und das Ergebnis müsste wieder eine fixe Anzahl von Datensätzen sein. Oder möchtest du alle Datensätze mit den 5 höchsten Punktewertungen anzeigen?
 
Die Limitierung besteht, weil ich nicht sofort 20 Datensätze auf einmal laden will, dauert in meinem Fall zu lange, wenn das Internet schlecht ist. Ich rufe die Funktion mehrmals auf, erst wenn die 5 Geladen wurden, hole ich die nächsten 5.
 
Werbung:
Zurück
Oben