9Čvc2008
Napsáno pod kategorií: PHP
Autor: LOLO
Na webu který spravuji se začala v MySQL databázi kupit data, výpis všech začal být zbytečný, tak jsem ztvořil za pár minut jednoduchý skriptík na jejich stránkování. Článek je určen začátečníkům, kteří si s tímto problémem neví rady.
Skript jsem patřičně okomentoval aby byl přehledný. Výstupní HTML neobsahuje řádnou strukturu HTML dokumentu, protože můj skript byl určen pro vložení do jiné stránky opatřené hlavičkami. Aktuální strana je předávána pomocí parametru src v URL.
PHP:
-
<?php
-
/**
-
* Jednoduchý Skript pro stránkování záznamů z databáze
-
* @author Ondřej Fibich
-
*/
-
-
$PZS = 6; // pocet záznamů na stranu
-
$str = 1; // aktuální strana (počítáno od 1)
-
$message = "Error"; // chybová zpráva
-
-
if (isset($_GET['str']) &&
-
$_GET['str']> 0) { // z parametrů URL vybere aktuální stránku
-
$str = $_GET['str'];
-
}
-
-
// připojení k databázi
-
-
// výběr počtu prvků v tabulce
-
$resultCount =
mysql_query($sql,
"SELECT COUNT(0) as COUNT_TABLE FROM table");
-
// uložení počtu záznamů
-
-
-
// SQL funkce LIMIT(START, COUNTS)
-
// výpočet STARTU
-
$start = ($str - 1) * $PZS;
-
// výběr vhodných položek
-
$result =
mysql_query($sql,
"SELECT*FROM table LIMIT ".
$start.
",".
$PZS);
-
-
// výpis výsledků
-
-
echo "<p>Vypis dat. Např.: $zapis->sloupec</p>";
-
}
-
-
//
-
// Jednoduché listování mezi stranami
-
//
-
echo "<div style='float: right; clear: both; margin-top: 25px;'>" .
-
"<a href='str=" .($str> 1 ? $str - 1 : "1"). "'>«</a> ";
-
-
// počet stránek
-
$pocet = (($pocetZaznamu % $PZS)> 0) ? (int)($pocetZaznamu / $PZS) + 1 : $pocetZaznamu / $PZS;
-
-
// výpis odkazů na stránky
-
for ($i = 1; $i <= $pocet; $i++) {
-
if ($i != $str) {
-
echo "<a href='?str=".
$i.
"'>".
$i.
"</a> ";
-
} else { // aktuální strana
-
echo "<a href='?str=".
$i.
"'><b>".
$i.
"</b></a> ";
-
}
-
}
-
-
echo "<a href='?str=" .
(($str <
$pocet) ?
$str +
1 :
$pocet) .
"'>»</a>" .
-
"</div>";
-
?>
Doufám, že článek někomu pomůže.