Задать вопрос
@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>';
    }
}
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
array_slice($data, $offset)

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

if ($page <= $size_page) {

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽