Stojím teď před problémem, jak zajistit automatické stránkování v případě, že počet příspěvků v čemkoli, třeba knize návštěv přesáhne daný počet. Mohl bych sice nakouknout do nějakého hotového skriptu, ale jsem radši, když si všechno napíšu sám a vím jak to funguje.
Takže :
$numrows = mysql_query("SELECT COUNT(*) FROM prispevky");
$listperpage = 20; //počet příspěvků na jednu stránku
pak si spočítám celkový počet stran a zaokrouhlímna celé číslo nahoru.
tedy : $pagecount = ceil($numrows/$listperpage);
Abych mohl vybírat určité příspěvky, musím zadat limitaci :
if(!isset($start)) $start=0;
if(!isset($end)) $end=$listperpage;
$numrows = mysql_query("SELECT COUNT(*) FROM prispevky LIMIT $start, $end");
To bychom měli, ale teďka ke konstrukci odkazů. Předpokládejme, že by to byly obyčejné textové odkazy na konci stránek s předávanými parametry $start a $end, neco v podobě :
<a href=skript.php?start=20&end=40>21-40</a>
Jak to ale zajistit s automatickou tvorbou těch odkazů ?
Počet stránek mám - to je $pagecount, takže třeba :
for($i=1; $i <= $pagecount; $i++) {
echo "<a href=skript.php?start=$start&end=$end>$i</a> | ";
$start = $start+$listperpage;
$end = $start+$listperpage;
}
a tím by se mi mělo udělat následující :
při 95 příspěvcích se mi vypočítá 5 stránek a odkazy s parametry :
start=0&end=20
start=20&end=40
atd. až do start=80&end=100
Potom když kliknu na jakýkoliv odkaz s číslem 1,2,3,4,5 předají se skriptu proměnné start a end a podle toho se uspořádá sql dotaz ?
Je to tak ? A jak by to bylo v případě, že bych chtěl tvořit jenom odkazy další a předchozí, kde předchozí by se neukazovalo na úvodní stránce a další na konečné ?
No a jak by to teprv bylo, kdybych chtěl, aby nebyl aktivní odkaz právě zobrazené stránky ?
tkajak jsto napsal jen to chce pozit pra podminek
odpoved jsem sem psal i s examplem.. kdyz jsem dal Odeslat tak byl zrovna WebZdarma OUT takze se to neulozilo a uz na to seru.
Promin, ale snad jindy
jeste bych si dal pozor na ten $start a $stop nebo co (pro limit) - preved ho na int, jinak se _nekdo_ podiva na
script.php?start=0,%201;%20select....
a hadej, co fsecko muze delat :-)
jeste bych si dal pozor na ten $start a $stop nebo co (pro limit) - preved ho na int
Jak ? Example by nebyl ?
ach jo.. tak jen zbezne..
for($i=1; $i <= $pagecount; $i++) {
if ($start != $i)
echo "<a href=skript.php?start=".($i*$pagecount).">$i</a> | ";
else
echo "$i | ";
}
a to $end k uzivately vubec neposilej ale nech to takhle:
$end = $start+$pagecount;
mysql... LIMIT $start,$end
a jsme doma..
nezkousel jsem, je to narychlo ale melo by to obehat :)