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

441
.
¯\_(ツ)_/¯
Здравствуйте, Джоновцы.
Я уже несколько дней пробую разные примеры пагинации пристроить к моему скрипту но ничего не получается. Уже нервы не выдерживают.
Кто может встроить пагинацию и если возможно с комментариями?
Вот сам скрипт:
Прикрепленные файлы:
.
человек И пароход
У тебя лимит жестко прописан (20)
Если пользуешься джоновской навигацией нужно так ... LIMIT $start, $kmess");

Ниже стандартно крепи навигацию

Если сумма больше $total{
функция постранички

}
.
¯\_(ツ)_/¯
# Crack (23.07.2016 / 18:59)
У тебя лимит жестко прописан (20)
Если пользуешься джоновской навигацией нужно так ... LIMIT $start, $kmess");

Ниже стандартно крепи навигацию

Если сумма больше $total{
функция постранички
Я в пыхе 0
.
человек И пароход
PaRtiZzaN, На примере твоего файла index.php

будет так

<?
include('inc/core.php');
$title = 'Блог PaRtiZzaN';
include('inc/head.php');
include('inc/functions.php');
$res = mysql_query("SELECT * FROM blog ORDER BY id DESC LIMIT $start, $kmess");
$c = mysql_num_rows(mysql_query("SELECT * FROM blog"));
?>
<div class="text"><b>Доброго времени суток товарищи </b><br/>
Меня зовут Андрей. Известен я Вам под ником PaRtiZzaN. Это мой маленький блог в котором я буду рассказывать о своей жизни и попытках изучения языка php. 
Надеюсь Вам будет интересен мой блог и вы будете возвращатся!
</div>
<div class="title">Последние статьи:</div>

<?
while($row = mysql_fetch_assoc($res)){
$text = mb_strcut($row['text'], 0, 300, 'UTF-8');
echo '<div class="text"><b>'.$row['body'].'</b><br/>'.$text.'<br/><a href="post.php?id='.$row['id'].'">Читать далее</a></div>';
}
if($c > $kmess){
 echo '<div class="topmenu">'.functions::display_pagination('/?', $start, $c, $kmess).'';

}
echo '<div class="text">Статей в блоге: '.$c.'</div>';
?>
<?include('inc/foot.php');?>


Возможно придется подправить путь в display_pagination(), тк. твоего пути не знаю.
.
Ей 25
# PaRtiZzaN (23.07.2016 / 19:00)
Я в пыхе 0
Так зачем ты тогда берешся писать скрипты? Выучил бы пхп, а потом писал.
.
¯\_(ツ)_/¯
ValekS, Что по проще я учу, но пагинация это жесть.
.
PaRtiZzaN, если тема не исчерпана, то можно почитать об алгоритме пагинации, например здесь Как разбить вывод из mysql постранично
.
ValekS
Ей 25
# PaRtiZzaN (24.07.2016 / 01:16)
ValekS, Что по проще я учу, но пагинация это жесть.
Почему жесть? Смотри, у тебя есть список из 100 записей. Тебе надо выводить где-то по 10 записей. В mysql для этого существует LIMIT. У LIMIT'а есть параметры: либо один - LIMIT 10 - это значит просто вывести первых 10 записей; либо 2 параметра - LIMIT 0, 10 - вернет так же 10 записей, но начиная с 0. Т.Е. LIMIT 10, 10 вернет 10 записей начиная с 10-той.
Все системы пагинации построены на этом принципе. Когда ты нажимаешь в браузере на 5-тую страницу(не забывай что у нас 100 записей, по 10 на страницу), то у нас будет LIMIT 40, 10. Почему 40? Нумерация начинается с 0, как в массиве.
Так вот после нажатия на 5-тую страницу, в базу идет запрос, все строки таблицы сортируются по дате(или как ты там укажешь) и из списка из 100 записей выбираются записи под номерами 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 и выдаются тебе.
Подбивая все выше сказанное, тебе надо продумать и написать сам алгоритм пагинации или же найти и использовать готовый. Они могут быть разные, смотря какой нужен вывод страничек и т.д.
Можно было бы ещё разобрать пагинацию Джона, она довольно простая и понятная, но это нужно время и будет много букв.
.
(\/)____o_O____(\/)
ValekS, в ждоне пагинация как раз не понятная новичку
.
¯\_(ツ)_/¯
ValekS, Спасибо, хоть я это и знал. Хоть кто то помогает. Про лимит я знаю, но вот как реализовать вывод и саму навигацию не могу придумать...
Всего: 13