witam, napisałem funkcję paginacji (w oparciu o książke i internet) i chciałbym prosić was o spojrzenie swoim fachowym okiem oraz wskazanie co mozna w niej dopracować, usprawnic. Funkcja działa, jednak wysyła metodą GET kazdorazowo dwie zmienne i to trochę denerwuję. Oto funkcja:
define('ILOSC_NA_STRONIE',15
); $zapytanie = "SELECT COUNT(*) FROM artykul";
function paginacja($zapytanie){
global $dbc;
$zapytam = mysqli_query($dbc,$zapytanie);
if(isset($_GET['p']) && is_numeric($_GET['p'])){
$stron= $_GET['p'];
}
else{
$ilosc_r_w_bazie = mysqli_fetch_array($zapytam);
$ilosc_w_bazie = $ilosc_r_w_bazie[0];
if($ilosc_w_bazie > ILOSC_NA_STRONIE){
$stron = ceil($ilosc_w_bazie/ILOSC_NA_STRONIE);
}
else{
$stron = 1;
}
}
if(isset($_GET['s']) && is_numeric($_GET['s'])){
$start=$_GET['s'];
}
else{
$start = 0;
}
$query = mysqli_query($dbc,"SELECT artykul.id,artykul.nazwa,id_kategorii_a,tresc_art FROM artykul ORDER BY id DESC LIMIT $start,".ILOSC_NA_STRONIE);
while($wynik = mysqli_fetch_array($query)){
?>
<div id="artykul"><div id="cz_tresci">
<div id="tytul">
<?php echo $wynik['nazwa']; ?> </div>
<div id="tagi">
<?php
$zapytan = mysqli_query($dbc,"SELECT slowo_klucz.nazwa FROM slowo_klucz INNER JOIN artykul_zawiera ON slowo_klucz.id=artykul_zawiera.id_klucza WHERE id_artykulu={$wynik[id]}");
while($wyn = mysqli_fetch_array($zapytan)){
}
?>
</div>
<div id="tresc">
<?php
$reszta = skroc_artykuly($wynik['tresc_art'],175);
echo $reszta.' <a href="index.php?id='.$wynik['id'].'"> <img src="images/strzalki.jpg" alt="więcej"/></a>'; ?>
</div>
</div>
<div id="cz_zdjecia">
</div>
</div>
<?php
}
if($stron > 1){
$bierzaca_strona=($start/ILOSC_NA_STRONIE) + 1;
}
if($bierzaca_strona > 1){
echo '<a href="index.php?s='.($start - ILOSC_NA_STRONIE
).'&stron='.$stron.'">Poprzednia</a>'; }
for($i=1;$i<=$stron;$i++){
if($i!=$bierzaca_strona){
echo '<a href="index.php?s='.((ILOSC_NA_STRONIE
* ($i-1))).'&stron='.$stron.'"> '.$i.'</a>'; }
else{
}
}
if($bierzaca_strona != $stron){
echo '<a href="index.php?s='.($start+ILOSC_NA_STRONIE
).'&stron='.$stron.'">Następna</a>'; }
}