# mysql-tabelle rückwärts auslesen?



## GoLLuM (26. August 2003)

hallo mal wieder!

ich hab da mal wieder ne frage, und zwar is es möglich ne mysql-tabelle rückwärts auszulesen? mein problem besteht nämlich darin, das ich mir eine tabelle angelegt habe mit nem auto-increment system (hab also IDs für die einträge vergeben). und jetzt würde ich gerne die neuesten einträge anzeigen lassen. das klappt ja auch. dazu is ja auch nur 

```
mysql_query("SELECT * FROM meine_tabelle ORDER BY id DESC");
```
notwendig.

wenn ich jetzt aber nich alle daten angezeigt bekommen möchte (weil ich ne sortierung/aufteilung auf mehrere seiten machen möchte) klappt das mit dem 
	
	
	



```
LIMIT
```
nich so, wie ich möchte.

hat jemand da ne idee, oder schon mal nen script gesehen, mit dem man einträge auf mehrere seiten verteilen kann?
kann man überhaupt verstehen, was ich meine? ;-) ich hoffe doch.
also über ne antwort würd ich mich echt freuen.
danke gollum


----------



## Mark (26. August 2003)

Hi!

Nö, ich weiß nicht wirklich, was Du willst... 

Ein
SELECT * FROM meine_tabelle ORDER BY id DESC LIMIT 0,20
gibt Dir doch die letzen 20 Einträge, oder nicht?
Bei mehreren Seiten brächtest Du nurnoch statt "0", 20,40,... einsätzen und Du würdest "nach hinten" blättern (seite*limit, limit, wobei erste seite=0).

Oder scheitert's an was anderem?


----------



## GoLLuM (26. August 2003)

danke für so prompte antwort! 

das mit dem "limit" klappt schon.
also mal etwas konkreter mit meinen zahlen, dann kann ichs dir besser eklären:

ich hab 17 zeilen/rows/datensätze.

ich will, das er mir die letzten 10 datensätze anzeigt: also

SELECT * FROM `meine_tabelle` ORDER BY id ASC_LIMIT 7, 10

gut, das klappt soweit. aber jetzt fängt die anzeige bei 7 an und endet bei 17.
aber ich will das er mir zuerst 17 anzeigt und dann runterzählt bis zur 7.

weißt du jetzt in etwa was ich meine? 

cya gollum


----------



## Mark (26. August 2003)

Hi!

Ähm, ja, Deine Sortierreihenfolge ist aber doch ASC?
Wenn Du statt:
SELECT * FROM `meine_tabelle` ORDER BY id ASC LIMIT 7, 10
die Reihenfolge umkehrst:
SELECT * FROM `meine_tabelle` ORDER BY id DESC LIMIT  0,10 
sollte er Dir doch die Einträge 17-7 anzeigen?

Entweder habe ich jetzt einen Knoten im Hirn, oder ich weiß noch nicht worum es geht...


----------



## GoLLuM (26. August 2003)

oh ja natürlich so gehts!

son kack, *ich* hatte den knoten im hirn. aber jetzt klappts.....
10000 dank 
peace gollum


----------

