Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java webová aplikace stránkování dat

Ahoj,

chtěl bych se zeptat zkušených jak řešit stránkování dat.

Příklad:

uživatel má v databázi nějaký seznam.. třeba seznam oblečení (tedy nějaké objekty, oblečení má barvu, velikost atd...).

Chci udělat výpis tohoto oblečení na profilu uživatele například po 10 kusech.

Můj postup:

Načtu data z DB do Listu a následně je proženu svým napsaným kusem kódu co my vyhodí List o velikosti 10 (podle čísla stránky na který je).

Je to tak v pohodě? Co když budu první list (ten načtený z db o velké velikosti například 10000000000000 kusů - a z něj pak budu vybírat 10 kusů, to zatěžuje zbytečně paměť, ne?).

Je nějaký lepší řešení? Třeba rovnou vybírat 10 kusů ? Vím že můžu nastavit omezení maximálního počtu vybraných kusů z db, ale jak zajistit aby to byl právě můj interval třeba na stránce číslo 4?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tohle se řeší na úrovni SQL dotazu, většina DB má podporu stránkování, ale co máš za DB jsi zatajil.… nový
MaSo 25.02.2016 14:14
MaSo
Používám normál MySql, dá se to tedy řešit takhle? : Chce první stránku po 10 kusech: SELECT * FRO… nový
MašinkaTomáš 25.02.2016 14:16
MašinkaTomáš
Tohle nebude fungovat, když ID nepůjdou po sobě, nebo tam bude "díra" (vymazané záznamy)... http://… nový
MaSo 25.02.2016 14:19
MaSo
Tady to má o něco jednodušeji podané: http://www.w3schools.com/php/php_mysql_select_limi t.asp nový
Jan Fiala 25.02.2016 14:30
Jan Fiala
Jo, ale problém s tou fci LIMIT - OFFSET je ten, že když bude dělat OFFSET 100000000,15 tak stejně n… nový
MaSo 25.02.2016 14:34
MaSo
Díky za rady. [2aRDSDm.png] V dokumentu nikde nepíše co znamenají čísla v LIMIT LIMIT 0, 20 LIMIT… nový
MašinkaTomáš 25.02.2016 14:43
MašinkaTomáš
Aha, asi odkud se začíná :-) Díky vyřešeno. A tohle nám ve škole neřeknou :-| nový
MašinkaTomáš 25.02.2016 14:45
MašinkaTomáš
Nespoléhej na to, že ti ve škole něco řeknou. Programování je hlavně o vyhledávaní informací... nový
MaSo 25.02.2016 14:53
MaSo
Právě proto to teď asi hledám :-) Díky poslední
MašinkaTomáš 25.02.2016 14:54
MašinkaTomáš

Jo, ale problém s tou fci LIMIT - OFFSET je ten, že když bude dělat OFFSET 100000000,15 tak stejně načte 100000015 záznamů s tím, že těch 100000000 se zahodí (na úrovni DB). V mém linku je i popis, jak to řešit.

EDIT: Pokud tam ale nemáš milióny záznamů, tak použij LIMIT - OFFSET a neřeš to...

Zpět do poradny Odpovědět na původní otázku Nahoru