Как разделить пользователей в админ панели на страницы? redbean
Как разделить пользователей в админ панели на страницы? Использую redbean Нашел php для разделения на страницы и вроде как должно работать, но не работает..почему-то
<!-- список пользователей -->
[_while]
<tr>
<td class="text-xs-center"></td>
<td>[_id]</td>
<td class="text-xs-center">[_login]</td>
<td>[_email]</td>
<td class="text-xs-pass">[_password]</td>
<td>[_status]</td>
<td class="text-xs-center"></td>
<td class="text-xs-center"></td>
</tr>
[_while]
<!-- список пользователей -->
<?php
$sm_read = file('../table.html');//...подключаем шаблон
$sm_read = implode('', $sm_read);//функция file() возвращаем массив, поэтому склеиваем его
//Находим в шаблоне тут часть, которую будет ду вайлить
preg_match(
'/\[_while\](.*?)\[_while\]/s',
$sm_read,
$tamp_while
);
$response = R::getAll('SELECT * FROM users ORDER BY id DESC');
$collect = array();
//Делаем замены код-слов
//логин
$copy_tamp = str_replace("[_login]", $record['login'], $copy_tamp);
//пароль
$copy_tamp = str_replace("[_password]", $record['password'], $copy_tamp);
//меняем статус
$copy_tamp = str_replace("[_status]", $status, $copy_tamp);
//адрес ящика
$copy_tamp = str_replace("[_email]", $record['email'], $copy_tamp);
//ID
$copy_tamp = str_replace("[_id]", $record['id'], $copy_tamp);
$collect[] = $copy_tamp;
}
//Вставляем в шаблон список пользователей
$sm_read = preg_replace(
'/\[_while\].*?\[_while\]/s',
implode('', $collect),
$sm_read
);
echo $sm_read;
// Это вот нашел да не работает!!!
//Пагинация. Считаем сколько строк в БД
$response = R::count( 'users' );
// Сколько выводить на страницу
$limit = 4;
// Сколько будет страниц
$pages = ceil($response / $limit);
// На какой странице мы находимся сейчас?
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
'options' => array(
'default' => 1,
'min_range' => 1,
),
)));
// Вывод страниц и других значений на страницу
$offset = ($page - 1) * $limit;
$start = $offset + 1;
$end = min(($offset + $limit), $response);
//Для вывода нумерации
$number = 3; //кол-во до и после ссылок
$start_number = ($page > $number) ? $page - $number : 1;
$end_number = ($page < ($pages - $number)) ? $page + $number : $pages;
$posts = R::findAll( 'users', 'ORDER BY id DESC LIMIT '.$limit.' OFFSET '.$offset.'' );
echo '<ul class="pagination pagination-lg">';
$prevlink = ($page > 1) ? '<li><a href="?page=1" title="Первая страница">«</a></li> <li><a href="?page=' . ($page - 1) . '" title="Предыдущая страница">Предыдущая</a></li>' : '<li class="disabled"><a class="disabled">«</a></li> <li class="disabled"><a class="disabled">Предыдущая</a></li>';
$nextlink = ($page < $pages) ? '<li><a href="?page=' . ($page + 1) . '" title="Следующая страница">Следующая</a></li> <li><a href="?page=' . $pages . '" title="Последняя страница">»</a></li>' : ' <li class="disabled"><a class="disabled">Следующая</a></li> <li class="disabled"><a class="disabled">»</a></li>';
echo $prevlink;
for ($i = $start_number; $i <= $end_number; $i++) {
$link_active = ($page == $i) ? 'class="page-item active"' : 'class="page-item"';
$numbers = '<li '.$link_active.'><a class="page-link" href="index.php?page='.$i.'">'.$i.'</a></li>';
echo $numbers;
}
echo $nextlink;
echo '</ul></div>';
?>