Εμφάνιση αποτελεσμάτων

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Εμφάνιση αποτελεσμάτων

Δημοσίευση από mariosal » 08 Μάιος 2009 00:57

Γεια σας,

Έχω μία data base στην οποία έχω 30 entries. Από τα 30 θέλω να εμφανίζει τα 20 τελευταία και αυτό το έκανα με το query

Κώδικας: Επιλογή όλων

$chat = 'SELECT * FROM etchy ORDER by id DESC limit 20';
Αυτό τυπώνει τα αποτελέσματα έτσι:

30
29
28
27

και πάει λέγοντας. Εγώ πώς μπορώ να τα τυπώνω έτσι

27
28
29
30

?

Άβαταρ μέλους
fusion
Δημοσιεύσεις: 146
Εγγραφή: 23 Αύγ 2008 21:34
Τοποθεσία: Λάρισα
Επικοινωνία:

Εμφάνιση αποτελεσμάτων

Δημοσίευση από fusion » 08 Μάιος 2009 01:26

Κώδικας: Επιλογή όλων

$chat = 'SELECT * FROM etchy ORDER by id ASC limit 20';
Αντί να βάλεις ORDER BY DESC(aka descending order/φθίνουσα σειρά), βάζεις αύξουσα(ascending).

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Εμφάνιση αποτελεσμάτων

Δημοσίευση από mrpc » 08 Μάιος 2009 01:27

Κώδικας: Επιλογή όλων

$chat = 'SELECT * FROM etchy ORDER by id ASC limit 20, 10';

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Εμφάνιση αποτελεσμάτων

Δημοσίευση από mrpc » 08 Μάιος 2009 01:29

fusion με πρόλαβες... Έτσι όπως το έγραψα εγώ, στο Limit η δεύτερη παράμετρος ορίζει και από που ξεκινάει να τραβάει τα δεδομένα:
The command:

SELECT (query) LIMIT m,n

gives m rows of the query's response, starting at row n+1, while

SELECT (query) LIMIT m

gives the first m rows of the query's response (starting at row 1).

Άβαταρ μέλους
fusion
Δημοσιεύσεις: 146
Εγγραφή: 23 Αύγ 2008 21:34
Τοποθεσία: Λάρισα
Επικοινωνία:

Εμφάνιση αποτελεσμάτων

Δημοσίευση από fusion » 08 Μάιος 2009 01:34

ωραίος...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Εμφάνιση αποτελεσμάτων

Δημοσίευση από dva_dev » 08 Μάιος 2009 03:41

Για να πάρεις τις τελευταίες 20 εγγραφές, πρέπει να ζητήσεις τις τελευταίες 20 εγγραφές και όχι κάποιες συγκεκριμένες που μόνο σε μία περίπτωση θα είναι οι τελευταίες 20. Αφού τις πάρεις, μετά αν θέλεις, λες και πως να σου τις εμφανίσει.
Νομίζω πως αυτό που έχει γράψει ο MarioSal θέλει απλώς μια μικρή προσθήκη.
SELECT * FROM (
SELECT * FROM etchy ORDER by id DESC limit 20
) TMP ORDER BY ID ASC;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Εμφάνιση αποτελεσμάτων

Δημοσίευση από mariosal » 08 Μάιος 2009 11:06

Δοκίμασα μόνο του dva_dev και δούλεψε. Ευχαριστώ όλους σας για την βοήθεια.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες