Алгоритм постраничной навигации

Постраничная навигация

$display_page = 10; // количество постов на одной странице
 
$res_qpost = $mysqli->query('SELECT COUNT(id) FROM post'); // количество выбранных записей
$qpost     = $res_qpost->fetch_array();
$qpagenav  = intval(($qpost[0] - 1) / $display_page) + 1;

// вывод постраничной навигации
for ($i = 1; $i <= $qpagenav; $i++) {
    echo '<span><a href="?page='.$i.'">'.$i.'</a></span>';
}

Выборка данных

// номер текущей страницы
$cur_page = (isset($_GET['page'])) ? $_GET['page']: 1;

// с какой позиции выбирать данные
$limit_start = $cur_page * $display_page - $display_page;

// выборка данные
$posts_res = $mysqli->query('SELECT id,name,content FROM posts LIMIT '.$limit_start.','.$display_page);