LIMIT ve vypisu z databaze umim nastavit ale jak tento kód generovat podle počtu nalezených stránek neco na zp. vyhledávačů stránek.
kdysi dávno jsem napsal něco takového. Rozhodně se v tom ale musíš pohrabat. A vyzobat si to, co potřebuješ. Hodilo by se to ještě předělat na $_GET[], ale však Ty už si s tím poradíš.
} else {
// výpis všech příspěvků
// ###################################################
// ### nastavení počtu příspěvků na jednu stránku ####
// ###################################################
$perpage = 10; //počet záznamů na stránku
echo "<center><span class=\"NadpisModulu\">Novinky všeobecně</span></center>";
if (!isset($page) || $page <= 1) {
$page = 1;
$from = 0;
} else {
$from = ($page * $perpage) - $perpage;
}
$query = mysql_query("SELECT * FROM def_news ORDER BY id DESC LIMIT $from, $perpage");
$query2 = mysql_query("SELECT count(*) AS MAX FROM def_news");
list($entries) = mysql_fetch_array($query2);
echo "<center><small>";
echo "Celkem záznamů: $entries, vypisuji záznamy po $perpage na stránku seřazených podle data sestupně\n";
echo "</small></center>";
if ($entries > 1) {
$pages = ceil($entries / $perpage); //celkový počet stran
if ($page > $pages) echo "Nepokoušej se mne obelstít a raději si vyber číslo stránky, kterou chceš zobrazit pomocí odkazů níže.";
}
echo "</div>";
echo "<table width=100% class=one_news_text>\n";
while ($row = mysql_fetch_array($query)) {
$datum = preg_replace("/(\d{4})-(\d{2})-(\d{2})/", "\\3.\\2.\\1 v \\4 ", $row['date']);
echo "\n" . "<tr><td align=\"left\" class=\"def_news_title\"><a name=\"$row[id]\"></a>$row[title]</td></tr>\n" . "<tr><td><small>$datum</small></td></tr>\n" . "<tr><td align=\"left\">" . StripSlashes($row['text']) . "</td></tr>\n" . "<tr><td height=1 bgcolor=black></td></tr>";
}
echo "</table><br>";
// pokud je počet stránek větší než 1
echo "<center>";
if ($page > 1 && $page <= $pages) {
$prevpage = $page-1;
echo "<a href=\"index.php?modname=$modname&l=$l&view_id=all&page=$prevpage&right=$right\"><<</a> ";
}
if ($page < $pages) {
if ($page == 0) $page = 1;
$nextpage = $page + 1;
echo " <a href=\"index.php?modname=$modname&l=$l&view_id=all&page=$nextpage&right=$right\">>></a>";
}
echo "<br>";
if ($pages > 1) {
for($i = 1;$i <= $pages;$i++) {
if ($i != $page) {
echo "<a href=\"index.php?modname=$modname&l=$l&view_id=all&page=$i&right=$right\">$i</a>";
} else {
echo $i;
}
echo " | ";
}
}
}
echo "\n<!-- konec obsahu generovaného module $modname -->\n\n";
generuje to něco ve stylu :
<< 1 | 2 | 3 >>
kde, zrovna zobrazené čáslo stránky není odkazem.
Určitě to jde lépe, já to tehdy potřeboval mít strašně rychle hotové. Když tak si vykuchej nějaký guestbook, který to používá. Princip je vždycky stejný. Spočítat celkový počet příspěvků, podělit ho počtem příspěvků na jednu stránku, čímž získáš počet stránek. A podle toho už si můžeš spočítat LIMITy pro MySQL.