которые при нажатии перенаправляют определенную страницу$limit(количество новостей на страницу), соответственно получаем кол-во страниц $page_count, вместе с запросом передаем параметр, допустим &page=3, соответственно делаем запрос БД с учетом нашего limit и с offset, который будет равен $offset = $limit * $_GET('page').SELECT * FROM news LIMIT $limit OFFSET $offset;for($i=1;$i<=$page_count;$i++). Обычный список, который содержит ссылки у который href будет содержать итератор $i. Ну и соответственно имея $_GET('page') и $i вы модете вычислять активный пункт и т.д. Выводить не все, а только следующие 5 и предыдущие 5. Тут уже как говорят "по вкусу"