Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Постраничный вывод средствами PHP


Автор: Lloyd 26.2.2004, 19:13
Благодаря этому форуму сделал постраничный вывод списка статей из MySQL через LIMIT.

А как быть с тесктом статьи из MySQL? Ведь LIMIT тут уже не пойдет, статья - это один объект (строка).
Подсчитать кол-во строк или чего-то еще? А если "оборвется" слово или абзац или выведиться заголовок в конце одной страницы, а текст - в начале другой, или html-таблица внезапно оборвется... Как с этим быть?

Помогите пожалуйста, как организовать хороший постраничный вывод статьи с выводом навигации?

Спасибо.

Автор: Secandr 26.2.2004, 19:23
Хранить статью в бд постранично.
Когда пишешь статью абзаци разбиваешь, например тегами <p></p> А затем при полкчении такого текста скрипт разбивает его по этим тегам и затем потихоньку наращивать переменую $tmp, когда она больше заданого размера записывать её в бд, затем обнулять $tmp и "набирать" новую страницу smile.gif

Автор: Master 26.2.2004, 20:41
Lloyd что за глупость?
Какая разница... статьи, посты... одна строка в БД же...

Автор: Vaulter 26.2.2004, 22:02
выбрать статью, разбить на куски нужного размера, вывести нужный кусок (1, 2 страницу)..

Автор: Lloyd 26.2.2004, 22:27
Secandr, хранить статью в БД постранично - накладно и тяжко. (тем более БД уже создана, там больше 200 статей)

Master, а в чем глупость? LIMITом я ее не разобью, а как средствами PHP реализовать не знаю.
Но разбивать надо обязательно. Во-первых они длинные, во-вторых для увелечения числа показов, в-третьих - так мне красивее.

Автор: Secandr 27.2.2004, 08:30
Lloyd неужели такие стати большие? smile.gif
Ещё вариант: создать таблицу с указателями на начало новой страницы в статье:
Таблица:
id_статьи ! Смещение страницы

Пропарсишь все страницы, создашь таблицу смещений и будет счастье!

Автор: Master 27.2.2004, 09:02
ну здесь можно конечно регулярными выражениями воспользоваться... хотя я не припомню, чтобы в книгах использовалас практика недопистимости переносов при переходе на следующую страницу.

Автор: Morello 27.2.2004, 09:25
можно попробовать перед тем, как забить статью в БД расставить в тексте спец. метки, а при выводе парсить по ним. я так и делал!

Автор: arial 27.2.2004, 13:33
Цитата(Lloyd @ 26.2.2004, 19:13)
Помогите пожалуйста, как организовать хороший постраничный вывод статьи с выводом навигации?

http://pear.php.net/package/Pager_Sliding - всё уже сделано до Вас.

Автор: Raptus Melanholicus 27.2.2004, 19:30
Можно отсчитывать заданное количество символов и, при достижении предела, заканчивать выввод на ближайшем "\n"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)