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

Форум PHP

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

 

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

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

тема: Опять страничка новостей
 
 автор: jimi77   (13.03.2007 в 15:07)   письмо автору
 
 

Знач так... просьба не ругаться если сие уже было. Направте на топик и я буду доволен!
Нужен ответ: на главной странице стоит код который отображает содержимое файла news.html И есть файл который соответственно пишет в news.html новости примерно вот:

<?
$str="$date$news"
$file = fopen ("news.html","a+");
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
?>
<font>Вы успешно добавили новость!

Всё работает, но новости пишуться в конец файла... т.е. по числа это выгядит так:
12.03.2007 НОВОСТЬ
13.03.2007 НОВОСТЬ
14.03.2007 НОВОСТЬ

а нужно чтобы писал.
14.03.2007 НОВОСТЬ
13.03.2007 НОВОСТЬ
12.03.2007 НОВОСТЬ

MySQL нет, если устанавливать курсор в начало док-та то он перезаписывает предыдущие новости, значить нужно как то сдвигать предыдущие новости. ПОЖАЛУСТА, ПОМОГИТЕ.
Заранее благодарен!!!

   
 
 автор: mihdan   (13.03.2007 в 15:24)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:07)
 


<?
$str
="$date$news"
$file file ("news.html");
// Сортируем в обратном порядке
$file rsort($file);
?>

   
 
 автор: Trianon   (13.03.2007 в 15:36)   письмо автору
 
   для: mihdan   (13.03.2007 в 15:24)
 

эдак Вы такого насортируете....
Тут нужно применять array_reverse()

   
 
 автор: jimi77   (13.03.2007 в 15:40)   письмо автору
 
   для: Trianon   (13.03.2007 в 15:36)
 

Грубо говоря вот скрипт который отображает содержимое файла news.html

<?
$file_array = file("news/news.html");
if(!$file_array)
{
echo("Ошибка открытия файла");
}
else
for($i=0; $i < count($file_array); $i++)
{
printf("%s", $file_array[$i]); ////КАК сюда влупить array_reverse()
}
?>

   
 
 автор: Trianon   (13.03.2007 в 15:45)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:40)
 


<?
$file_array 
file("news/news.html");
if(!
$file_array)
  echo(
"Ошибка открытия файла");
else
  for(
$i=count($file_array); --$i >= 0; )
    
printf("%s"$file_array[$i]); 
?>

   
 
 автор: Trianon   (13.03.2007 в 15:38)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:07)
 

Не надо пытаться писать файл в начало - для файла это противоестественно.
Нужно выводить записи из файла в обратном порядке.

   
 
 автор: jimi77   (13.03.2007 в 15:41)   письмо автору
 
   для: Trianon   (13.03.2007 в 15:38)
 

Trianon как это сделать...
я туп в php как валенок!!!

   
 
 автор: mihdan   (13.03.2007 в 15:42)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:07)
 

Что вам не понравилось то? Сортировка rsort() - сортировка массива в обратном порядке

   
 
 автор: jimi77   (13.03.2007 в 15:47)   письмо автору
 
   для: mihdan   (13.03.2007 в 15:42)
 

rsort применить в скрипте записи в файл news.html или при выводе из файла данных????

$file_array = file("news/news.html");
if(!$file_array)
{
echo("Ошибка открытия файла");
}
else
for($i=0; $i < count($file_array); $i++)
{
printf("%s", $file_array[$i]);
}

и как сюда вставить его??

   
 
 автор: Trianon   (13.03.2007 в 15:48)   письмо автору
 
   для: mihdan   (13.03.2007 в 15:42)
 

Попробуйте отсортировать что-нибудь такое:

15.02.2007 НОВОСТЬ
10.03.2007 НОВОСТЬ
20.03.2007 НОВОСТЬ

   
 
 автор: jimi77   (13.03.2007 в 15:51)   письмо автору
 
   для: Trianon   (13.03.2007 в 15:48)
 

Мне нужна не сортировка, мне проста нужен инверс новостей, все они будут по порядку культурно добавляться каждый день вниз и вниз и вниз...
как я и писал...

а нужно чтобы массив читался не сверху вниз а снизу вверх , вроде так чтоли!!!

   
 
 автор: Trianon   (13.03.2007 в 15:52)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:51)
 

Я написал Вам ответ. (13.03.2007 в 15:45)

   
 
 автор: jimi77   (13.03.2007 в 16:04)   письмо автору
 
   для: Trianon   (13.03.2007 в 15:52)
 

Всё работает в случае когда новости записаны
10.03.2007
11.03.2007
12.03.2007
он их переворачивает
но при записи в файл новостей они пишуться 10.03.2007 11.03.200712.03.2007
а в этом случае скрипт не работает...

$str="$news$data"
$file = fopen ("news.html","a+");
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);

вот скрипт записи
а как сделать чтобы при добавлении записи в news.html каждая новость шла с новой строки??????

И я отстану )))

   
 
 автор: Trianon   (13.03.2007 в 16:09)   письмо автору
 
   для: jimi77   (13.03.2007 в 16:04)
 

Измените строку так:

fputs ( $file, $str."\r\n"); 

   
 
 автор: jimi77   (13.03.2007 в 16:22)   письмо автору
 
   для: Trianon   (13.03.2007 в 16:09)
 

8-))))) УРАААА....


СПАСИБО ВСЕМ ОГРОМНОЕ ЗА ПОМОЩЬ!!!

   
 
 автор: mihdan   (13.03.2007 в 15:54)   письмо автору
 
   для: jimi77   (13.03.2007 в 15:51)
 

Переверни массив с помощью array_reverse()

пример:


<?php
$txt 
= array ("15.02.2007 НОВОСТЬ","10.03.2007 НОВОСТЬ","20.03.2007 НОВОСТЬ");
$txt array_reverse($txt);
print_R($txt);
?>

   
Rambler's Top100
вверх

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