У $A
есть данные для нумерации страниц:
$A = array(
0=>array(
0=>1,
1=>2
),
1=>array(
0=>3,
1=>5,
2=>2
),
2=>array(
0=>3,
1=>1,
2=>6,
3=>6
)
);
Кто-нибудь может помочь мне получить ожидаемый выходной сигнал (output this "...." more)
самый важный?
....
сказал, что это еще больше элементов, необходимых для отображения следующей страницы.
или это оставшийся элемент с предыдущей страницы.
Есть 09
элементов $A
для отображения, поэтому
Я установил
$show_per_page = 3;
Вывод (для первой страницы):
1
2
Total:3
3
....//output this "...." more
Вывод (для второй страницы):
....//output this "...." continue from first page
5
2
Total:10
3
.... //output this "...." more
Вывод (для третьей страницы):
.... //output this "...." continue from second page
1
6
6
Total:16
если я установлю
$show_per_page = 5;
Вывод (для первой страницы):
1
2
Total:3
3
5
2
Total:10
// .... //not output this "...." more now
Вывод (для второй страницы):
3
1
6
6
Total:16
если я установлю
$show_per_page = 9;
ВЫВОД:
1
2
Total:3
3
5
2
Total:10
3
1
6
6
Total:16
В настоящее время я пытаюсь сделать с функцией paging_from_multi_arr
, но я застрял на том, как реализовать получить ожидаемый результат:
// page to show (1-indexed)
// number of items to show per page
function paging_from_multi_arr($display_array, $page){
Global $show_per_page;
$start = $show_per_page * ($page-1);
$end = $show_per_page * $page;
$i = 0;
foreach($display_array as $main_order=>$section){
$total = 0;
foreach($section as $sub_order=>$value){
if($i >= $end){
break 2; // break out of both loops
}
$total += $value;
if($i >= $start){
echo $value.'<br>';
}
$i++;
}
if($i >= $start){
echo 'Total:'.$total.'<br>';
}
if($i >= $end){
break;
}
}
$total = count($display_array, COUNT_RECURSIVE);
// Total numbers of elements in $display_array array.
// See http://php.net/manual/en/function.count.php
if ($end < $total){
echo "...";
}
}
$show_per_page = 5;
paging_from_multi_arr($A,$_GET["page"]);
У вас есть идея с функцией здесь? Или мог бы дать лучший алгоритм?
спасибо