Witam, postanowiłem zrobić stronę z paginacją. Wszystko jest OK, działa jak należy, ale nie wiem, jak zrobić, aby wyświetlały się tylko 3 poprzednie strony i 3 następne strony.
W tym przypadku chciałbym, aby pokazały się liczby: 2,3,4,5,6,7,8. Nie ma sensu zasypywać większą ilością.
KOD:
// Pobierz wszystkie ogloszenia z bazy
$result = mysqli_query($polaczenie,"SELECT * FROM ads");
$all_pages = $result->num_rows;
// Zaokraglij je w gore
$all_pages = ceil($all_pages/2);
// Sprawdz, ktora strona
if(isset($_GET['page']))
{
$page = $_GET['page']-1;
}else{
$page = 0;
}
$from = $page*2;
$sql = "SELECT * FROM ads LIMIT $from,2";
$result = mysqli_query($polaczenie,$sql);
I Wyświetlanie:
while($rekord = $result->fetch_assoc())
{
echo $rekord['ad_title']." ". $rekord['ad_text']." ".$rekord['ad_id']."<br>";
}
for($i=1; $i<=$all_pages; $i++)
{
// Sprawdz, na ktorej stronie jest uzytkownik
if($i==$page+1)
{
echo "<div class='page' style='font-size:26px;'><a href='index.php?page=$i'>".$i."</a></div>";
}
else{
echo "<div class='page'><a href='index.php?page=$i'>".$i."</a></div>";
}
}
Z góry dziękuję za pomoc i pozdrawiam serdecznie :)