Автор Тема: Монстрам ПХП  (Прочитано 2606 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PaulB

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Монстрам ПХП
« : 29 Мая 2002, 21:00:24 »
Условие:
Вывод новостей на страницу.

Задача:
Если новостей мало, вывести новости за предыдущий день вместе с текущими.

Вопрос как?

З.Ы. Нужен алгоритм решения.
З.Ы.Ы С MySQL не работаю, пока... вывод новостей из файлов.

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Монстрам ПХП
« Ответ #1 : 29 Мая 2002, 22:02:36 »
if (новостей мало) {
  берем вчерашние();
}

Извини, но какой вопрос - такой и ответ
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн alezee

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 42
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Монстрам ПХП
« Ответ #2 : 29 Мая 2002, 22:13:06 »
Этими функциями я работаю с новостями. Плз, подскажите хотябы от чего плясать...

Функция определения последнего файла с новостями
function scandir($dirname)
{
$str=0;
chdir($dirname);
$dir=dir(".");
$dir->rewind();
while ($file=$dir->read())
 {
    $count++;
    if (intval($file)>$str){$str=$file;}
 }
$dir->close;
chdir("../../..");
return $str;
}

Функция вывода заголовков
function show_title($day, $month, $year)
{
$month=pad($month,2);
$day=pad($day,2);
//if ($day=="00"){$day="01";}

$date="$year/$month/$day";
$fn=scandir("arch/$year/$month/");
if (!file_exists("arch/$date")) {$day=$fn;}
$date="$year/$month/$day";

if (!file_exists("arch/$date")){echo "Новостей нет!";} else {
$str=file("arch/$date");
rsort($str);
$len=count($str);
for ($i=0; $i<=$len-1;$i++)
{
 $row=split("::",$str[$i]);
 echo ("

   
      
      
      
   
   
      
      
   
   
      
      
   
$month/$day/$year
$row[0]
Score:   $row[1]

$row[3]
More...

 

$row[5]



 ");
}

}
}

Функция вывода полной новости
function show_news($day, $month, $year, $news)
{
$month=pad($month,2);
$day=pad($day,2);
$date="$year/$month/$day";
if (!$str=file("arch/$date")){echo "Невозможно прочесть содержимое файла или файла $month.$year не существует";}
rsort($str);
 $row=split("::",$str[$news]);
 echo "

   
      
      
      
   
   
      
      
   

      
      
   
$month/$day/$year
$row[0]
Score:   $row[1]

$row[4]

 

$row[5]



";
}

Оффлайн Flash

  • Виртуоз...
  • Ветеран
  • *****
  • Сообщений: 661
  • +0/-0
  • 2
    • Просмотр профиля
Монстрам ПХП
« Ответ #3 : 30 Мая 2002, 00:33:26 »
А если все новости в одной папке, просто берёшь n последних новостей. Зачем так выделываться с датой? Не понимаю...
Почему так всегда: мозги утекают, а доноры остаются?

Оффлайн alezee

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 42
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Монстрам ПХП
« Ответ #4 : 30 Мая 2002, 11:31:47 »
Дело втом, что новости лежат в файлах соответсвующих дате.
Структура такая год/месяц/дата (2002/05/30).

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28