Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод из файла постранично!
 
 автор: iriter   (22.01.2007 в 17:54)   письмо автору
 
 

Вариант мой не работает, выводит всё как-то каряво.
Очень нужно посмотреть ваши вариатны!

Файл пишеться просто:
DATE Текст
Пример:

01.01.07 20.07 Всем привет!
02.01.07 15.03 Это уже моё второе сообщение!

   
 
 автор: Maxam   (22.01.2007 в 18:04)   письмо автору
 
   для: iriter   (22.01.2007 в 17:54)
 

А у меня очень схожая проблема,
этот код


    $file = file("text.txt");
    if(isset($_GET['sec'])){$page = ($_GET['sec']-1);}else{$sec = 0;}
    $per_page = $per_page_update_bases;
        $start = abs($page*$per_page);
        $end = abs($start+$per_page);
        for($s=$start;$s<=$end;$s++)
        {
        print "<div class=\"o\">";
        print $file[$s];
        print "</div>";
        }


Он выводит файл попорядку если он строиться так:

текст новый
текст старый


А я хочу так:

текст старый
текст новый

   
 
 автор: t4f   (22.01.2007 в 18:08)   письмо автору
 
   для: iriter   (22.01.2007 в 17:54)
 

Запиши файл так:
01.01.07 20.07;Всем привет!
02.01.07 15.03;Это уже моё второе сообщение!
то есть используй ; в качестве разделителя. Далее проще будет.
вот функция, которая возвращает массив данных, которые содержатся в файле.

<?
function getCsv($file)
{
  
$fArray file($file);
  
$newArray = array(); // массив, который возвращаем.
  
foreach($fArray as $ar)
  {
    
$newArray[] = explode(';'$ar);
  }
  return 
$newArray;
}

$fileArray getCsv('my_file.dat');
//Например, $fileArray[0][0] - 01.01.07 20.07, $fileArray[0][1] - Всем привет!

?>


Далее используй статью htt[url]p://softtime.ru/info/articlephp.php?id_article=33[/url] только вместо
$result = mysql_query("SELECT * FROM post LIMIT $start, $num");
используй функцию array_slice http://ru.php.net/manual/ru/function.array-slice.php
Если есть необходимость вывести записи из файла начиная с конца, то примени к массиву функцию array_reverce http://ru.php.net/manual/ru/function.array-reverse.php

   
 
 автор: Trianon   (22.01.2007 в 18:13)   письмо автору
 
   для: iriter   (22.01.2007 в 17:54)
 

может быть для начала Вы покажете свой?

   
 
 автор: Temnovit   (22.01.2007 в 19:04)   письмо автору
 
   для: iriter   (22.01.2007 в 17:54)
 

Можно использовать функцию file() для считывания файла и array_chunk() для постраничного вывода.


<?
 $file_array 
file('files/myfile.txt');

  
$on_page 5;
  
$current_page 1;

 
print_rarray_chunk($file_array,  $on_page*($current_page-1)) );
?>

   
 
 автор: cheops   (23.01.2007 в 00:48)   письмо автору
 
   для: iriter   (22.01.2007 в 17:54)
 

Возможно вас заинтересует скрипт по ссылке http://www.softtime.ru/scripts/pager.php.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования