Jak jste uhodli, musíte použít LIMIT
klíčové slovo
.
Přijímá dvě hodnoty (uvozovky) :
- posun prvního řádku, který se má vrátit
- maximální počet vrácených řádků
Ve vašem případě budete muset pro první stránku použít něco takového:
select * from your_table order by ... limit 0, 50
A pak pro druhou stránku:
select * from your_table order by ... limit 50, 50
A za třetí:
select * from your_table order by ... limit 100, 50
A tak dále;-)
Upravit po komentáři: Chcete-li získat číslo stránky, musíte jej získat ze svých adres URL, což by vypadalo takto:
http://www.example.com/page.php?pagenum=2
Poté vypočítáte první hodnotu limitu, :
$offset = 50 * intval($_GET['pagenum']);
A vložte jej do svého dotazu:
select * from your_table order by ... limit $offset, 50
Vytváření adres URL na různé stránky je nyní otázkou získání adres URL, jako jsou tyto:
http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...
Pokud víte, že máte 700 prvků a 50 na stránku, budete mít 700/50 stránek;-)
Takže něco takového by mělo stačit :
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
Samozřejmě, 700 je hodnota, která se pravděpodobně může změnit a neměla by být pevně zakódována:měla by být určena z databáze pomocí count
dotaz :
select count(*) as total
from your_table
...