Autor | Zpráva | ||
---|---|---|---|
pavelskop Profil * |
#1 · Zasláno: 18. 9. 2011, 19:08:09
Zdravím, používám toto stránkování:
$PZS = 2; // počet záznamů na stránku $str = 1; // první strana if(isset($_GET["str"]) && $_GET["str"] > 0) {$str = $_GET["str"];} $start = ($str - 1) * $PZS; $query = "SELECT * FROM `novinky` ORDER BY `id` DESC "; $pocetVysledku = mysql_num_rows(mysql_query($query)); $query .= " LIMIT $PZS OFFSET $start"; $mysql = mysql_query($query); while($result = mysql_fetch_array($mysql)) { ////novinka } if ($pocetVysledku>$PZS) { // počet stránek $pocetStran = (($pocetVysledku % $PZS)> 0) ? (int)($pocetVysledku / $PZS) + 1 : $pocetVysledku / $PZS; echo "<br class='clear'>"; echo "<center><b>Stránka $str z $pocetStran</b></center>"; echo "<div id='tnt_pagination' >"; if (!isset($_GET["str"]) or ($_GET["str"])==1 or ($_GET["str"])==2) {echo "<span class='disabled_tnt_pagination'><<První</span>";} else {echo "<a href='novinky&str=1'><<První</a>"; } if (!isset($_GET["str"]) or ($_GET["str"])==1) {echo "<span class='disabled_tnt_pagination'><Předchozí</span>";} else {echo "<a href='novinky&str=".($str> 1 ? $str - 1 : "1")."'><Předchozí</a>"; } // výpis odkazů na stránky for ($i = 1; $i <= $pocetStran; $i++) { if ($i != $str) { echo "<a href='novinky&str=".$i."'>".$i."</a>"; } else { // aktuální strana echo "<span class='active_tnt_link'>".$i."</span>"; } } if (($_GET["str"])==$pocetStran or $pocetStran==1) {echo "<span class='disabled_tnt_pagination'>Další></span>";} else {echo " <a href='novinky&str=".(($str <$pocetStran) ? $str + 1 : $pocetStran) ."'>Další></a>"; }$predposledni = $pocetStran-1; if (($_GET["str"])==$predposledni or ($_GET["str"])==$pocetStran or $pocetStran==1) {echo "<span class='disabled_tnt_pagination'>Poslední>></span>";} else {echo "<a href='novinky&str=$pocetStran'>Poslední>></a>"; } echo "</div>"; } else {} Bohužel už mám moc stránek a nevejde se to do řádku, proto bych se chtěl zeptat, jak udělat pokročilejší stránkování, to znamená: << První < Předchozí - 3 - 4 - |5| - 6 - 7 - Další > Poslední >> |
||
Radovan789 Profil * |
#2 · Zasláno: 18. 9. 2011, 19:47:02
Nejjednoduší je šáhnout po hotovém řešení (OOP), stačí si vybrat:
http://blog.jakubmaly.cz/programovani/php/strankovani-v-php-a-mysql-pohodlne-a-univerzalne.aspx http://mike.treba.cz/pokrocile-strankovani-php/ |
||
Alphard Profil |
#3 · Zasláno: 18. 9. 2011, 21:57:59
V tom cyklu, který vypisuje stránky, stačí přidat podmínku
if ($i + $interval > $str && $i - $interval < $str) |
||
Časová prodleva: 13 let
|
0