Autor | Zpráva | ||
---|---|---|---|
fifaurban Profil |
#1 · Zasláno: 21. 11. 2013, 18:26:47
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 * |
#2 · Zasláno: 21. 11. 2013, 20:30:57
// 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> "; } |
||
juriad Profil |
#3 · Zasláno: 21. 11. 2013, 21:01:26
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 |
#4 · Zasláno: 22. 11. 2013, 08:18:29
juriad:
SELECT COUNT(*) FROM clanky
|
||
breeta Profil |
#5 · Zasláno: 22. 11. 2013, 08:19:02
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ě:
|
||
Časová prodleva: 10 let
|
0