Разбитие элементов и их вывод по частям на странице

big boy
На сайте с 18.11.2006
Offline
356
766

Для хранения информации используются файлы.

Случай первый.

База вида

================

|текст 1|описание 1|

|текст 2|описание 2|

|текст 3|описание 3|

|текст 4|описание 4|

|текст 5|описание 5|

|текст ...|описание ...|

================

Разбиваем с помощью explode().

Как сделать так, чтобы на странице выводилось N-ное количество элементов из базы? Скажем 3.

А остальные переходили на следующие страницы. Т.е. на первой (index) - первые 3, потом на второй странице идут 4, 5, 6; на третьей 7, 8, 9 элементы и так далее.

Случай второй.

Имеется большой текст. Допустим 10.000 символов.

Требуется разбить его на логически завершенные части (чтобы не обрубались предложения и абзацы) и вывести на нескольких перелинкованных номерами частей страницах. В таком случае explode() можно сделать по абзацам.

Принцип скрипта наверное такой же, как и в первом случае.

Хочется услышать советы опытных програмистов, а может даже и примеры подобных решений.

Буду искренне благодарен! :rolleyes:

✔ Как я генерирую статьи через ИИ, которые приносят трафик - https://webmasta.ru/blog/16-vkalyvayut-roboty-ne-chelovek-stati-s-pomoschyu-ii-kotorye-prinosyat-trafik
R
На сайте с 19.09.2007
Offline
36
#1

Смотрите пример тут

По поводу второго, с помощью рег выражений например

Коля Дубр
На сайте с 02.03.2005
Offline
153
#2

Советую пользоваться базой данных :)

В 99% случаев нет никаких причин от нее отказываться.

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).
S
На сайте с 13.07.2007
Offline
56
#3

1) построчное считывание из файла (fgets).

2) собрались доры/сателлиты в автомате клепать? ;)

Ну если эти 10 тыс. символов никак не отформатированы - фактически никак.

Swhile
На сайте с 02.05.2007
Offline
58
#4

По первому случаю:

Начну с момента, когда у нас уже есть постраничная навигация со ссылками на соответствующие страницы такого типа: index.php?page=n ,где n - номер текущей страницы.

// Получаем для начала номер запрошенной страницы

if (isset($_REQUEST['page'])) {

$thispage = $_REQUEST['page'];

}

else {

$thispage=1;

}

// Разбиваете ваш контент на массив

$array = explode('|', $handle);

// Теперь считываем из массива элементы для страницы №page

// Как я понял, из вашей базы нужно вытащить 3 строки, которые будут содержать

// 6 элементов

for ($i==1; $i<=6; $i++) {

$element_num = $i*$thispage-1;

echo $array[$element_num] . "<br>";

}

Это просто набросок, из которого вы можете взять идею для решения своего вопроса, поэтому из-за скорости я мог допустить небольшие ошибки. Будьте внимательны. Если появятся вопросы - пишите в ЛС, помогу чем смогу.

big boy
На сайте с 18.11.2006
Offline
356
#5

Всем огромное спасибо! Даже не верится, что кому-то еще не лень безвозмездно помогать людям!

Респект и уважуха! ☝

solnikolay:
2) собрались доры/сателлиты в автомате клепать? ;)

Отнюдь! :)

Изучаю php, попутно пишу CMS (статьи, новости). Кстати есть пара вкусных выдумок, которые пока не хочется оглашать ;)

Все увидим в релизе.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий