Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před rokem

Bernard Williams
dibi guru
Registrovaný: 9. 7. 2009
Příspěvky: 207

Sjednocení pořadí parametrů fetchAll a applyLimit

Nazdárek,

docela by mě zajímalo, proč mají metody fetchAll u query a applyLimit u dataSource prohozené pořadí parametrů? Mě se to zdá hodně matoucí nebo je to záměr?

Bernard


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#2 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5563

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Kterou verzi preferovat?

 

#3 před rokem

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Jsem pro limit offset.

 

#4 před rokem

Milo
dibi guru
Registrovaný: 4. 5. 2010
Příspěvky: 249

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Častěji asi pouze limituji takže LIMIT OFFSET

Online

 

#5 před rokem

Bernard Williams
dibi guru
Registrovaný: 9. 7. 2009
Příspěvky: 207

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Limit, Offset bude asi nejlepší.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#6 před rokem

westrem
dibi guru
Registrovaný: 13. 1. 2009
Příspěvky: 425

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

LIMIT, OFFSET


Nette 2.0 alpha2 Namespaced for PHP 5.3 // http://westrem.posterous.com

 

#7 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5563

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

A používá vůbec někdo limit a offset u fetchAll()?

 

#8 před rokem

Bernard Williams
dibi guru
Registrovaný: 9. 7. 2009
Příspěvky: 207

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Já u Paginatoru ano.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#9 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5563

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Jenže u paginatoru by mělo být omezení už v SQL dotazu.

 

#10 před rokem

Bernard Williams
dibi guru
Registrovaný: 9. 7. 2009
Příspěvky: 207

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

Já používám konstrukci z doplňku:

...
$paginator = $vp->getPaginator();
$paginator->itemsPerPage = 15;
$paginator->itemCount = count($items);
...
//příklad jak omezit třeba výběr řádků ze SQL pro danou stránku (s dibi)
$result = dibi::query('SELECT ... ORDER BY ...');
$rows = $result->fetchAll( $paginator->offset, $paginator->itemsPerPage );

Do SQL dotazu by to šlo taky přímo hodit, ale musel bych si udělat druhý SQL dotaz na získání celkového počtu záznamů.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#11 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5563

Re: Sjednocení pořadí parametrů fetchAll a applyLimit

No to je úplně blbě. Příklad jsem upravil.

Pro zjištění celkové počtu záznamů lze použít COUNT(*) nebo SQL_CALC_FOUND_ROWS v MySQL.

 

Zápatí