Autor Zpráva
fifaurban
Profil
Dobrý večer,

mám své malé stránky (ukázka) a snažím se už několik týdnů vytvořit na úvodní stránke stránkování. Prosím o jednoduchý návod a kód. Neumím moc dobře pracovat s databází. Zkoušel jsem mnoho návodů, ale zatím všechny neúspěšně.

PS: vím, že zde téma stránkování bylo probíráno 1000x, ale žádné mi zatím nepomohlo.

Děkuji za pomoc
Filip
Quinn
Profil *
// urcis si kolik clanku ma byt na jedne strane
$maxclanku = 5;
// spocitas radky (clanky), ktere se budou strankovat
$pocet = mysql_num_rows(mysql_query("SELECT * FROM clanky"));
//spocitas kolik to dava celkem stranek
$pocetstranek = $pocet/$maxclanku; 
// offset pro danou stranku     
$offset = $stranka*$maxclanku;
// vypises clanky pro danou stranku
$dotaz = mysql_query("SELECT * FROM clanky LIMIT $maxclanku OFFSET $offset");
while ($clanek = mysql_fetch_array($dotaz))
{
    // vypis 
}

// vykreslis strankovani treba takto
for ($i = 0; $i <= $pocetstranek; $i++) { 
    echo "<a href=clanky.php?stranka=$i>$i</a> ";
}
samozrejme $stranka pote bude rovna $_GET['stranka'] a pokud nebude zadana, tak nastavis 0.
juriad
Profil
Quinn:
Dotaz na 4. řádku vytáhne všechny články, jen abys je spočítal. Polož raději dotaz: SELECT COUN(*) FROM clanky, který vrátí jeden řádek s počtem.
Na 6. řádku nijak neřešíš zaokrouhlování. Podíl může být obecně desetinné číslo.
Takto mizerný návod fifaurbanovi nepomůže, takové potká na internetu na každém rohu.

fifaurban:
Podle kterého návodu jsi to stránkování dělal a do jakého stavu jsi se dostal? Třeba chyběla nějaká drobnost a mohlo ti to fungovat; bylo by fajn diskuovat nad konkrétním kódem.
Stránkování není ten typ kódu, že si ho přidáš na web a ono začne fungovat, často se musí dost podstatně upravit.
peta
Profil
juriad: SELECT COUNT(*) FROM clanky
breeta
Profil
Použij třeba třídu stránkování v nette, můžeš se podívat i jak je to dělaný ve třídě:

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: