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

Форум PHP

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

 

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

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

тема: Работа с файлами(Лимит)
 
 автор: mishamisha   (15.05.2007 в 18:51)   письмо автору
 
 

Есть код новостей

  $file_hendel = fopen("date/1.dat", "a"); if (!$file_hendle)   { echo"";}
 $file_news = file("date/1.dat");


for($i=0;$i<=count($file_news)-1;$i++)
{
  $row_news = explode("|",$file_news[$i]);
 echo '  Новость: <b>'.$row_news[3].' </b><br> ';
}


Как поставить лимит на 30 новостей?

   
 
 автор: Mirage   (15.05.2007 в 18:53)   письмо автору
 
   для: mishamisha   (15.05.2007 в 18:51)
 

алгоритм тотже
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=37527&page=1

   
 
 автор: NovikovMA   (15.05.2007 в 19:02)   письмо автору
 
   для: mishamisha   (15.05.2007 в 18:51)
 


$file_hendel = fopen("date/1.dat", "a"); 

if (!$file_hendle)   { echo"";} 

$file_news = file("date/1.dat"); 
$news_count=30; // количество новостей

for($i=0;$i<=$news_count-1;$i++) 

  $row_news = explode("|",$file_news[$i]); 
 echo '  Новость: <b>'.$row_news[3].' </b><br> '; 

   
 
 автор: Trianon   (15.05.2007 в 19:04)   письмо автору
 
   для: NovikovMA   (15.05.2007 в 19:02)
 

$news_count=min(30, count($file_news));

   
 
 автор: Mirage   (15.05.2007 в 19:08)   письмо автору
 
   для: NovikovMA   (15.05.2007 в 19:02)
 

ну тогда надо еще проверку сделать
иначе если в массиве элементов будет меньше 30, то у вас скрипт не будед работать и вызовет ошибку

if (count($file_news)<30)
{
   $news_count=count($file_news)
}
else
{
   $news_count=30
}

   
 
 автор: mishamisha   (15.05.2007 в 19:31)   письмо автору
 
   для: Mirage   (15.05.2007 в 19:08)
 

работает,но ОН выводит первые 30 строк в файле,а не последние

   
 
 автор: Mirage   (15.05.2007 в 19:37)   письмо автору
 
   для: mishamisha   (15.05.2007 в 19:31)
 


$file_hendel = fopen("date/1.dat", "a"); 

if (!$file_hendle)   { echo"";} 

$file_news = file("date/1.dat"); 

if (count($file_news)<30)
{
      j=0
}
else
{
      j=count($file_news)-30


for($i=j;$i<=$count($file_news) -1;$i++) 

  $row_news = explode("|",$file_news[$i]); 
 echo '  Новость: <b>'.$row_news[3].' </b><br> '; 
}

или просто так цикл преобразуй

for($i=$count($file_news) -1;$i>=$count($file_news) -30; $i--) 

  $row_news = explode("|",$file_news[$i]); 
 echo '  Новость: <b>'.$row_news[3].' </b><br> '; 
}

   
 
 автор: mishamisha   (15.05.2007 в 19:58)   письмо автору
 
   для: Mirage   (15.05.2007 в 19:37)
 

Беру второй вариант,но появляется ошибка
Fatal error: Call to undefined function: () in

   
 
 автор: mishamisha   (15.05.2007 в 20:06)   письмо автору
 
   для: mishamisha   (15.05.2007 в 19:58)
 

Всем СПАСИБО,скрипт заработал
Mirage тебе отдельный респект

   
Rambler's Top100
вверх

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