Пагинация, определить номер страницы!
Пагинация, определить номер страницы!
Всем привет, ищу лаконичное решение по поиску номера страницы по номеру элемента в общем списке.
Например есть список из 10 элементов, разбивка по 3 элемента на страницу, надо получить номер страницы 4, если элемент 10 и например, страницу 1 если элемент номер 2.
Например есть список из 10 элементов, разбивка по 3 элемента на страницу, надо получить номер страницы 4, если элемент 10 и например, страницу 1 если элемент номер 2.
-
- Сообщения: 977
- Зарегистрирован: 2014.08.27, 21:54
Re: Пагинация, определить номер страницы!
Задача 3 класса - в корзину вмещается 3 яблока. В какую корзину по счету будет положено 10 яблоко
Re: Пагинация, определить номер страницы!
чувак с > 5-летним опытом программирования. Не может быть, чтобы он спрашивал 10/3+1.Loveorigami писал(а): ↑2017.02.26, 12:35 Задача 3 класса - в корзину вмещается 3 яблока. В какую корзину по счету будет положено 10 яблоко
Re: Пагинация, определить номер страницы!
А что такого.. захотел спросил, не хотите не отвечайте... я сейчас в состоянии близком к зомби, но это конечно не оправдание. =)
Re: Пагинация, определить номер страницы!
Тут не всё так просто как мне показалось....Loveorigami писал(а): ↑2017.02.26, 12:35 Задача 3 класса - в корзину вмещается 3 яблока. В какую корзину по счету будет положено 10 яблоко
значит так:
Код: Выделить всё
[ 0=>1,
1=>1,
3=>1,
5=>1,
8=>1,
9=>0,
10=>1,
11=>2,
15=>1,
16=>1 ]
Re: Пагинация, определить номер страницы!
выше написал же: в (10/3+1)mat.twg писал(а): ↑2017.02.26, 13:14Тут не всё так просто как мне показалось....Loveorigami писал(а): ↑2017.02.26, 12:35 Задача 3 класса - в корзину вмещается 3 яблока. В какую корзину по счету будет положено 10 яблоко
значит так:
Как видим 10 элементов, Я беру элемент под номером 10, в какой он корзине?Код: Выделить всё
[ 0=>1, 1=>1, 3=>1, 5=>1, 8=>1, 9=>0, 10=>1, 11=>2, 15=>1, 16=>1 ]
-
- Сообщения: 977
- Зарегистрирован: 2014.08.27, 21:54
Re: Пагинация, определить номер страницы!
10/3, если есть остаток : +1 = 4
Re: Пагинация, определить номер страницы!
ceil(10/3)
Re: Пагинация, определить номер страницы!
-
- Сообщения: 977
- Зарегистрирован: 2014.08.27, 21:54
Re: Пагинация, определить номер страницы!
Прочитай свое условие
надо получить номер страницы 4, если элемент 10
Re: Пагинация, определить номер страницы!
Да, всех запутал, прошу прощения! Имелся ввиду вариативный ряд, со значениями постоянно увеличивающимися на случайную величину. И тут разночтение вышло, элемент номер 10 это элемент с ключом 16 в приведённом мною примере.Loveorigami писал(а): ↑2017.02.26, 13:29 Прочитай свое условиенадо получить номер страницы 4, если элемент 10
Re: Пагинация, определить номер страницы!
ну и как ты узнаешь страницу случайного элемента? никак. узнать страницу можно зная кол-во элементов на странице и индекс элемента. индексируй и считай по индексу.mat.twg писал(а): ↑2017.02.26, 13:33Да, всех запутал, прошу прощения! Имелся ввиду вариативный ряд, со значениями постоянно увеличивающимися на случайную величину. И тут разночтение вышло, элемент номер 10 это элемент с ключом 16 в приведённом мною примере.Loveorigami писал(а): ↑2017.02.26, 13:29 Прочитай свое условиенадо получить номер страницы 4, если элемент 10
Re: Пагинация, определить номер страницы!
Вот и я думаю как... вернее как быстрее.zelenin писал(а): ↑2017.02.26, 13:36ну и как ты узнаешь страницу случайного элемента? никак. узнать страницу можно зная кол-во элементов на странице и индекс элемента. индексируй и считай по индексу.
Re: Пагинация, определить номер страницы!
Ну короче пока так... жаль конечно, что в пагинаторе не заложено, а может и к лучшему... есть пара узких мест...
Всем спасибо! Почти проснулся...
Код: Выделить всё
$array_msg = (new \yii\db\Query())
->select(['`comment_anchor_id` AS `id`'])
->from('messages_test')
->where('`ticket`=:ticket', [':ticket' => $ticket])
->all();
$query_count = count($array_msg);
$key = array_search($comment_anchor_id, array_column($array_msg, 'id'))+1;
$pages = ceil($query_count/10);
$page = ceil($key/10);