Постраничный вывод

romanich

Новичок
Постраничный вывод

Сразу прошу прощения за повторную тему, но в поиске нашел только постраничный вывод данных из БД. А вот из *.txt (либо из другого):( Нужен алгоритм действий.
Делую следующее: заношу данные в массив в *.txt
Затем вычисляю:
PHP:
//$ampage - кол-во страниц
//$amount - кол-во сообщений в гостевой книге
//$limit - кол-во сообщений, выводимых на одной странице
....
//Вывожу сообщения (к примеру $amount=10):
if (!isset($page)or $page==1)
{echo "первые 10 сообщений";}
if ($page==2)
{echo "вторые десять сообщений";}
//Рисую ссылки:
if ($ampage>1)
{
echo("<center>");
for($i=1; $i<=$ampage; $i++)
echo("<a href=index.phtml?page=$i>$i</a> ");
echo("<hr color=$hrColor></center>");
}
Но так не правильно, может кто поможет как сделать правильно
 

romanich

Новичок
Автор оригинала: Demiurg
А почему не правильно ?
Не то, чтобы совсем не правильно. Скажем не совсем удобно. К примеру если кол-во сообщений 100 или более, и для каждой странице расписывай if и т.д.
 

Demiurg

Guest
тогда делай так
PHP:
echo 'сообщения '.(($page-1)*$limit+1).'-'.($page*$limit-1);
 

makRo

Guest
принимаем $page

$limit = 10 // Хотим показывать на странице по 10 сообщений

PHP:
$file = file("file.txt");

$linesStart = $pages*$limit;
$linesEnd = $pages*$limit + $limit;

for($i=$linesStart; $i < $linesEnd; $i++)
{
   print $file[$i]."<br>";
}

print pages_function(...);
Функция которая выводит страницы, такая же как и для БД.
 

romanich

Новичок
Автор оригинала: makRo
принимаем $page

$limit = 10 // Хотим показывать на странице по 10 сообщений

PHP:
$file = file("file.txt");

$linesStart = $pages*$limit;
$linesEnd = $pages*$limit + $limit;

for($i=$linesStart; $i < $linesEnd; $i++)
{
   print $file[$i]."<br>";
}

print pages_function(...);
Функция которая выводит страницы, такая же как и для БД.
Спасибо большое, вроде разобрался.
 

romanich

Новичок
Да, только вот как быть с первыми страницами:
index.php и
index.php?page=1
 
Сверху