NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: Problém s LIMIT a OFFSET

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Michal Kuba
Tvůrce
Avatar
Michal Kuba:1.6.2016 18:54

Ahoj.
Z mě neznámého důvodu mi nechce fungovat výpis pomocí SQL dotazu, ve kterém dávám LIMIT a OFFSET.

Takto vypadá část dotazu:

public function vratObrazky($strana, $naStranu)
        {
                return Db::dotazVsechny('
                        SELECT *
                        FROM foto
                        ORDER BY ID_foto DESC
                        LIMIT ?, ?', ($strana - 1) * $naStranu, $naStranu);
        }

Do které posílám hodnoty takto:

$obrazky=$spravceObrazku->vratObrazky($strana, $naStranu);

Jsem například na straně 2 a množství položek na stranu mám nastaveno na 15. Jenže takhle to nefunguje a stránka je prázdná, vrací mi to pouze

Array( )

Když zkusím v dotazu smazat otazníky a vložím tam pouze čísla, šlape to jak má.

Nemá někdo prosím nějaké nápady? :)

 
Odpovědět
1.6.2016 18:54
Avatar
Michal Kuba
Tvůrce
Avatar
Odpovídá na Michal Kuba
Michal Kuba:1.6.2016 18:56

Ježiši -_-

Sotva to sem dám, tak na to dojdu. V tom dotazu mi chybělo všechny ty proměnné a výpočty obalit do array() takto:

return Db::dotazVsechny('
                        SELECT *
                        FROM foto
                        ORDER BY ID_foto DESC
                        LIMIT ?, ?', array(($strana - 1) * $naStranu, $naStranu));

Sorry za spam :) Berte to kdyžtak jako možný návod pro někoho,kdo by s tímto problémem přišel později :D

Editováno 1.6.2016 18:57
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
1.6.2016 18:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.