W@P » 2012.08.12 01:10

Подскажите пожалуйста, как в моем скриптике читалке txt файлов, зделать с помощью opendir выводить по 25файлов на страницу, и добавить переключение между страницами
пред. след.

tipsun » 2012.08.12 03:39

W@P, принцип будет приблизительно таким:
- получение номера страницы.
- расчет точки начала показа. Текущая страница минус единица полученное умножить на количество эл. на страницу (в твоем случае на 25)
- в твоем цикле проверять достигло ли значение++ начальной точки показа. Если не достигло continue, если достигло будет выполняться код ниже.
- поставить ссылки вручную указав текущая/полученная станица -1 и +1 (туда и сюда)
- - - -
Вроде ничего не забыл. Я бы код написал, но с этого телефона долго. Если не получится у тебя, то напишу днем.

tipsun » 2012.08.12 04:27

И точку остановки надо естественно расчитать, просто к началу прибавить число эл. на стр. (25).
если значение++ соответствует точке остановки, break.
можно без страниц, просто передавать количество эл на страницу.

W@P » 2012.08.12 14:29

Мне хотелось,чтобы папка листалась(не тхт файлы) автоматически.
case :
не подходить, страниц слишком много будет...

tipsun » 2012.08.12 15:17

Код:

1
span style="color: #0000BB"><?phpheader('Content-Type: text/html; charset=UTF-8;');$items = 25; // эл. на стр.if($handle = opendir('.')) { $page = (isset($_GET['page']) and 0 < $_GET['page']) ? (int) $_GET['page'] : 1; $start = ($page - 1) * $items; $stop = $start + $items; $i = 0; while(false !== ($file = readdir($handle))) { if ('.' != $file && '..' != $file) { $i += 1; if ($i <= $start) { continue; } echo '<a href="' . htmlspecialchars($file, ENT_COMPAT) . '">Читать ' . htmlspecialchars($file, ENT_NOQUOTES) . '</a><br/>'; if ($i >= $stop) { break; } } } closedir($handle); if ($i > 0) { echo '<a href="?page=' . ($page - 1) . '">Назад</a> | <a href="?page=' . ($stop > $i ? $page : $page + 1) . '">Вперед</a>'; }}
tipsun » 2012.08.12 15:29

W@P написал:

Мне хотелось,чтобы папка листалась(не тхт файлы) автоматически.
case :
не подходить, страниц слишком много будет...

У тебя есть:
красная ссылка
синяя ссылка
У каждой есть свои плюсы.
Выбор за тобой.
PS. это не фильм, думай сам, что выбрать :)

W@P » 2012.08.12 17:02

TIPSUN, ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ... :) :) :)

tipsun » 2012.08.12 23:21

Код:

1
span style="color: #0000BB"><?phpif (1 == $page) { echo 'Назад'; }else { echo '';}
W@P » 2012.08.13 01:15

TIPSUN, Спасибо! Все ок! :)