Stránkování a řazení tabulky
- awarus
- Člen | 7
Zdravím,
snažím se navrhnout stránkování tabulky za pomoci Paginatoru (který jsem již úspěšně zprovoznil) a následné seřazení dat na dané stránce tabulky. K získání dat používám tento dotaz:
<?php
$this->database->table(self::TABLE_NAME)->limit($limit, $offset)->order($order);
?>
Ovšem takto jsou data nejdříve seřazena.
Rád bych věděl, jestli je možné získat nejdříve určitý rozsah dat
z tabulky a ten až poté seřadit.
Předem díky za odpověď.
S pozdravem
Awarus
- Šaman
- Člen | 2668
Jak to myslíš? Bez seřazení jsou data v relační databázi (teoreticky)
v náhodném pořadí, takže nemá smysl jich vzít určitý počet a ten pak
řadit. Když používáš LIMIT, měl bys teoreticky vždy použít o ORDER
BY, protože pravidla relační databáze ti nezaručí, že při dalším
dotazu (další stránka) tam budou opravdu „následující“ záznamy.
Prakticky se sice záznamy dohledávají podle stejného algoritmu, takže ta
opakovatelnost výsledků tam je, ale není to záměr, je to spíš vedlejší
efekt. Matematická relace z definice nemá žádné pořadí záznamů.
Ale klidně si to seřaď podle ID, limituj a výsledek si pak seřaď už jako pole.
Editoval Šaman (4. 4. 2018 14:18)