Home » Мои разработки » Создание rss ленты

Создание rss ленты

Нобходимость создания модуля формирования rss возникла у меня при разработке интарнет-сайта компании Европроект.

Для нескольких отделов компании была создана так называемая «горячяя линия», в которой сотрудники общались со своими коллегами в различных регионах. Оповещения о написании нового сообщения в этих разделах не было, но необходимость отслеживать обновления в разделах у сотрудников имелась.

Так как уже многие знают, что такое rss и у многих имеется возможность обрабатывать rss в почтовых клиентах, я решил пойти путем создания оповещения об обновления в формате rss. Благо информация хранящаяся в базе данных разделов формировалась в виде удобном для использования в rss. Т.е.:

После поисков в интернете, нашел модуль для создания rss-лент, который я доработал, подстроив под необходимые цели.

Код модуля:

<?php
header("Content-type: text/xml; charset=windows-1251");
echo '<?xml version="1.0" encoding="windows-1251"?>';
?>


    
      <title>Евронет. «Горячая линия» финансового отдела</title>
      <link>http://intranet/</link>
      Лента последних обновлений в разделе «горячяя линия» финансового отдела
      Copyright (c) Европроект
 
 <?php
// Подключаемся к базе и нужной таблице
require_once("classes/db_connect.php");
 
// Выполняем запрос к таблице БД
$res = mysql_query("SELECT * FROM objavka WHERE `id_razdel` = '614' ORDER BY `id` DESC LIMIT 0 , 10");
 
while ($data = mysql_fetch_object($res)) {

// Переводим дату и время в нужный для rss формат (у меня время в unix-формате)
$time = strtotime($data->data_pub);
$date_rfc = date('r', $time);

// Выводим содержимое item
echo <<<END
      <item>
        <title>$data->name
        <link>http://intranet/index.php?page=614&id=$data->id
        <description>anons_text]]>
      </item>\n
END;
}
 
// Закрываем соединение с БД
mysql_close();
?>
 
</channel>

Внимание! У каждого элемента должен быть уникальный ID в url'e, иначе в Outlook'e элементы rss будут выдаваться некорректно