| 
 
              Теперь поговорим о постраничном выводе информации из файла (подчеркиваю из файла) а не из базы данных :-)Что меня натолкнуло написать эту статью? Вчера в аське мой друг Oles.pwl попросил объяснить ему, как организовать постарничный вывод из файла, вот я и держу свое обещание,
 тока не для одного Oles.pwl, а для всех Вас товарисщи :-)
 Сразу хочу сказать, код написан Manlix'ом я пишу только пояснения к нему, ну т.е. объясняю как его организовать, для непонятливых :-)
 
 Допустим есть у Вас файл содержащий информацию такого вида
 
 заголовок||статья
 заголовок2||статья2
 заголовок3||статья3
 
 и так далее...
 
 Тепрь сделаем это с выводом информации скажем по 5 на страничку, ну т.е. будем выводить по 5 строк инфы из файла
 Скажем так
 
 ------------------------------------------------------
 
 Заголовок статьи --- Тря ля ля ля ля лял
 Сама статья --- Статетываывоаылвоал
 
 ------------------------------------------------------
 
 Теперь приступим к самому приятному, кодингу :-)
 
 Главный файл test.php
 
 <?php
 $base="base_file.txt"; // Файл где находиться инфа
 
 $general=file($base);  //Заносим весь наш файл в массив
 
 $lines_file=file($base); //Еще разочек занесем наш файли в массив :-)
 
 $lines=count($lines_file); //Считаем общее количество записей в файле, ну т.е. строк.
 
 $pmessages = file("$base");
 
 $onlyg=2; //Сколько записей выводить на страницу
 
 /*
 
 Тут начинаеться самая главная часть нашего файла
 Просчитываем странички :-)
 
 */
 
 if (@$page == "" or $page < 0) //Если переменная $page равна пустоте, или она меньше 0
 {
 $page = "1";   //Тогда переменнная $page=1
 }
 
 $first = count($pmessages) - ($onlyg * ($page - 1));
 $second = count($pmessages) - ($onlyg * $page) + 1;
 
 if ($second < 1)
 {
 $second = 1;
 }
 
 $pages = (int) ((count($pmessages) + $onlyg) / $onlyg);  //Считаем общее количество страниц
 
 for ($onlyg = 1; $onlyg <= $pages; $onlyg++)  //Загоняем все в цикл, т.е. присваемваем переменно $onlyg значение
 //1 и пока она меньше или равна $pages увеличиваем ее на единичку.
 {
 if ($onlyg != $page)  //Если $olyg не равняется $page
 {
 //То наши ссылки имеют такой вид
 $line .= "[ <a href=\"test.php?page=$onlyg\">$onlyg</a> ]";
 }
 if ($onlyg == $page) //А если равняеться
 {
 //То такой
 $line .= "[ $onlyg ]";  //Ну т.е. в выводим не в виде ссылки ту страницу где сейчас находиться пользователь
 }
 }
 
 
 /*
 
 Теперь выводим саму информацию
 
 */
 
 for ( $i = $first-1; $i >= $second-1; $i--)
 {
 list($zag,$sama)=explode("||", $general[$i]); //Считываем все из файла и разделяем данные при помощи explode а разделитель как вы помните у нас ||
 $id = $i;
 $id++;
 echo "Заголовок статьи --- $zag<br> Сама статья --- $sama<br><hr>";
 }
 
 echo "$line<br>"; //Выводим ссылки
 
 echo "Всего статей - <font color=red>$lines</font>.";  //Выведем информацию пользователю о общем количестве записей
 ?>
 
 Ну вот в принципе и все.
 
 Автор статьи: Александр Лысенко [ http://www.Ekibastuz.de ]
 
 
Комментарии
 
 |