Wyswietlenie łacza więcej jeśli w pliku jest wiecej niż np. 5 wpisów.

0

Witam.
Mam taki oto problem.

Mam coś takiego

<?php
        include ("list.php");
        rsort($user2sky);
        for ($k=0; $k <= 4; $k++)
        echo $user2sky[$k]."<br \>";
?>

wyświetla mi to 5 wpisów z tablicy posortowanych.
Chciałbym wyświetlić (jeśli w pliku jest więcej niż te 5 wpisów) odnośnik , do następnych kolejnych 5 wpisów.
Nie wiem jak inaczej to opisać, więc opisałem na tyle, na ile potrafię.
Liczę na pomoc ;)

1

Czyli chcesz zrobić paginacje?

define('ENTRIES_PER_PAGE', 5); //stała precyzująca ilość wpisów na stronę

$count = count($user2sky); //ilość wpisów
$pages = round($count / ENTRIES_PER_PAGE); //zaokrąglamy do góry, dzielimy po 5 wpisów na jedną stronę

if (!isset($_GET['page']) || $_GET['page'] < 1) {
   $currentpage = 1; //ustawiamy zmienną mówiącą o aktualnie wybranej stronie
} else {
   $currentpage = $_GET['page'];
}

$from = ($currentpage-1) * ENTRIES_PER_PAGE; //musimy zacząć od wpisu o odpowiednim ID, mnożymy więc przez ilość wpisów na stronę
for($k=$from; $k < $from+5; $k++) {
   echo $user2sky[$k] . '<br />';
}

echo('<br /><br />Strony: '); //pokazujemy nawigację po stronach
for($i=0; $i<$pages; $i++) {
   echo('<a href="?page='.$i.'">['.$i.']</a> ');
}

Nie wiem czy dobrze napisałem, mam nadzieje że rozumiesz kod.

0

Tak o to mi chodziło. Wpisy w pliku liczy dobrze,
z tym że mimo komendy echo nic nie wyświetla.
Dlaczego?

EDIT: Nic tzn wpisów.

0

Przeanalizuj kod, masz go zrozumieć, a nie dostać na tacy. Zapewne jakiś mały błąd popełniłem pisząc z marszu.

0

Dobra już wszystko jasne ;P Mój błąd przy wklepywaniu danych zrobiłem.
Teraz trochę poza temat, ale:
jak zrobić przekierowanie po zalogowaniu na stronę poprzednia.
Tzn. ze jesli loguje sie z
xxx.pl/forum/topicxxxxx
xxx.pl/profiles/profilexxx
xxx.pl/etc/xxxx
to żeby zawsze wracało do tej strony z której dokonałem logowania?

1 użytkowników online, w tym zalogowanych: 0, gości: 1