@JTester

Почему не работает pagination?

Здравствуйте! Почему не работает pagination? Что я сделал не так? Указывать мне про mysql не нужно, у меня есть конкретный массив. Вот код, как я пытаюсь
$data = [
    [
        'first' => 'first1',
        'second' => 'vovka'
    ],
    [
        'first' => 'tester',
        'second' => 'tester1'
    ],
    [
        'first' => 'dfdf',
        'second' => 'dd'
    ],
    [
        'first' => 'we',
        'second' => 'www'
    ],
    [
        'first' => '1',
        'second' => '2'
    ]
];

$page = 1;

$size_page = 5;
$offset = ($page-1) * $size_page;

$total_pages = ceil(count($data) / $size_page);

foreach (array_slice($data, $offset) as $key => $val) {
    if ($page <= $size_page) {
        echo $key['first'] . ' : ' . $val['second'] . '<br>';
    }
}
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
0xD34F
@0xD34F
array_slice($data, $offset)

Надо брать элементы только одной страницы, а не до конца - правильно будет array_slice($data, $offset, $size_page).

if ($page <= $size_page) {

Зачем сравнивать номер страницы с количеством элементов на странице, чего вы пытаетесь этим добиться? Бред же, уберите эту проверку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы