Форум → Программирование → PHP для идиотов → PHP-пагинатор
PHP-пагинатор
Страницы: ← Следующая страница →
-
Нужен пагинатор для текста(чтобы было ограничение на определённое кол-во символов на страницу в статье, остальное же ушло на следующие страницы), в гугле в результате многочисленных поисков нашёл только для таблиц.Может у кого-то есть готовые решения?…или подскажите как переделать табличный пагинатор. Спасибо.
-
-
29 сентября 2010 г. 21:51, спустя 3 минуты 19 секунд
Конечно есть, но я не могу их реализовать в коде. -
29 сентября 2010 г. 21:54, спустя 3 минуты 26 секунд
Ну рассказывай. Заодно расскажи, что не можешь реалзовать конкретно. -
29 сентября 2010 г. 23:07, спустя 1 час 13 минут 6 секунд
ну бери тупо высщитывай символы и делай пагинацию по анологии с "табличным" )
откуда данные берутся? :) -
30 сентября 2010 г. 0:37, спустя 1 час 29 минут 39 секунд
Навигация по номерам страниц не нужна, хватит кнопок "назад" и "далее".
Взял ручку и листочек, составил алгоритм, как я его себе представляю:
1. Делаю запрос в бд.
2. Преобразую ряд результата запроса в ассоциативный массив.
3. Задаю кол-во символов, которое должно быть на странице.
4. Считаю кол-во символов в тексте.
5. Считаю кол-во страниц для навигации.
5. Делаю проверку кол-ва страниц, если больше 1, то п.6, иначе просто вывожу текст.
6. Обрезаю текст от начала и до кол-ва символов, кот. должно быть на странице и вывожу его вместе с навигацией.
вот что получается :
<?php
$query = mysql_query("select text from db where id='$id' ");
$result = mysql_fetch_array($query);
$chars_per_page = 500;
$num_chars = strlen($result['text']);
$num_pages = ceil($num_chars/$chars_per_page);
if ($num_pages > 1) {
echo "Текст: '.substr($result['text'], 0, $chars_per_page).' ";
echo "<a href=" ">Далее</a>"; // ????
}
else {
echo "Текст: '.$result['text'].' ";
}
?>
….не пойму как реализовать ссылки на кнопки "назад" и "далее". -
30 сентября 2010 г. 0:44, спустя 7 минут 24 секунды
У тебя нормальный алгоритм. Делай index.php?page=1
тогда $_GET['page'] == 1. И выводи нужный тебе кусок текста.
Если тебе не в универе лабу сдать, а действительно программирование интересно, то попробуй "отшлифовать" алгоритм. К примеру чтобы обрезалось не по буквам, а по слову. К примеру 500 символов и дать слово или даже предложене закончить.
Ну нормальный у тебя алгоритм, и видно что работал. Нравятся мне такие люди. -
30 сентября 2010 г. 1:05, спустя 20 минут 59 секунд
если текста не много, или много но хорошая кешовая система. То можно заюзать следующее$textPaged = [man]str_split[/man]($str, $charsPerPage);
получим массив где размер массива = количеству страниц. Индекс массива является страницей.Спустя 15 сек.а дальше по вашему алгоритму )))Спустя 30 сек.
+1
Ну нормальный у тебя алгоритм, и видно что работал. Нравятся мне такие люди.
SpartakuS, а чего не плюсуешь? :)Спустя 41 сек.Kikky, Вам этот пост нужно было сразу написать в первом посте, тогда бы все пошло бы быстрее )))Спустя 40 сек.то попробуй "отшлифовать" алгоритм.
тоже за. И тогда мой вариант тут совершенно не к чему :)Спустя 94 сек.если по словам делить. До будет уместна функция [man]wordwrap[/man] и [man]explode[/man]. -
30 сентября 2010 г. 1:04, спустя 23 часа 58 минут 34 секунды
Спасибо большое)…интересуюсь конечно не для лабы, завтра буду до ума доводить, у нас уж 00-04 :) -
30 сентября 2010 г. 1:06, спустя 2 минуты 1 секунду
Потом покажи что получилось )))
Спасибо большое)…интересуюсь конечно не для лабы, завтра буду до ума доводить, у нас уж 00-04 :) -
30 сентября 2010 г. 1:07, спустя 1 минуту 10 секунд
у нас уж 00-04 :)
тут сидят круглосуточно :)https://smappi.org/ - платформа по созданию API на все случаи жизни -
30 сентября 2010 г. 1:19, спустя 12 минут 2 секунды
24/7 - Лучшая круглосуточная поддержка на пiха.ру -
30 сентября 2010 г. 8:07, спустя 6 часов 48 минут 10 секунд
платная
24/7 - Лучшая круглосуточная поддержка на пiха.руСапожник без сапог -
30 сентября 2010 г. 15:35, спустя 7 часов 27 минут 42 секунды
Не могу выложить код, т.к. он обрывается перед первым знаком "and" = ( -
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!